feat(frontend): add responsable dashboard screen

This commit is contained in:
SaidSoighiri94
2026-07-17 11:55:44 +02:00
parent 736328c66b
commit 2a1281b0e5
5 changed files with 693 additions and 20 deletions
@@ -0,0 +1,48 @@
import "api_client.dart";
/// Appels API du tableau responsable matériel.
class ResponsableService {
ResponsableService._();
static const String _email = ApiClient.responsableEmail;
static Future<Map<String, dynamic>> dashboard() async {
final reponse = await ApiClient.get(
"/responsable/dashboard",
utilisateurEmail: _email,
);
return Map<String, dynamic>.from(reponse["data"] as Map);
}
static Future<List<Map<String, dynamic>>> emprunts() =>
_liste("/responsable/emprunts");
static Future<List<Map<String, dynamic>>> materiels() =>
_liste("/responsable/materiels");
static Future<List<Map<String, dynamic>>> anomalies() =>
_liste("/responsable/anomalies");
static Future<List<Map<String, dynamic>>> notifications() =>
_liste("/responsable/notifications");
static Future<List<Map<String, dynamic>>> historique() =>
_liste("/responsable/historique");
static Future<Map<String, dynamic>> changerStatutAnomalie(
int id,
String statut,
) async {
final reponse = await ApiClient.patch("/responsable/anomalies/$id/statut", {
"statut": statut,
"observation": "Traitement depuis l'interface responsable",
}, utilisateurEmail: _email);
return Map<String, dynamic>.from(reponse["data"] as Map);
}
static Future<List<Map<String, dynamic>>> _liste(String chemin) async {
final reponse = await ApiClient.get(chemin, utilisateurEmail: _email);
final data = reponse["data"] as List;
return data.map((item) => Map<String, dynamic>.from(item as Map)).toList();
}
}