feat(features): refontes onboarding/organizations/profile/reports/settings/solidarity
- onboarding : datasource souscription, models formule/status, bloc complet - organizations : bloc orgs + switcher + types bloc, models, pages edit/create - profile : bloc complet avec change password, delete account, preferences - reports : bloc avec DashboardReports + ScheduleReports + GenerateReport - settings : language, privacy, feedback pages - solidarity : bloc complet demandes d'aide (CRUD, approuver, rejeter)
This commit is contained in:
@@ -81,6 +81,110 @@ class SystemConfigRepositoryImpl implements ISystemConfigRepository {
|
||||
throw Exception('Erreur ${response.statusCode}');
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Map<String, dynamic>> optimizeDatabase() async {
|
||||
final response = await _apiClient.post('$_base/database/optimize');
|
||||
if (response.statusCode == 200) return response.data as Map<String, dynamic>;
|
||||
throw Exception('Erreur ${response.statusCode}');
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Map<String, dynamic>> forceGlobalLogout() async {
|
||||
final response = await _apiClient.post('$_base/auth/logout-all');
|
||||
if (response.statusCode == 200) return response.data as Map<String, dynamic>;
|
||||
throw Exception('Erreur ${response.statusCode}');
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Map<String, dynamic>> cleanupSessions() async {
|
||||
final response = await _apiClient.post('$_base/sessions/cleanup');
|
||||
if (response.statusCode == 200) return response.data as Map<String, dynamic>;
|
||||
throw Exception('Erreur ${response.statusCode}');
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Map<String, dynamic>> cleanOldLogs() async {
|
||||
final response = await _apiClient.post('$_base/logs/cleanup');
|
||||
if (response.statusCode == 200) return response.data as Map<String, dynamic>;
|
||||
throw Exception('Erreur ${response.statusCode}');
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Map<String, dynamic>> purgeExpiredData() async {
|
||||
final response = await _apiClient.post('$_base/data/purge');
|
||||
if (response.statusCode == 200) return response.data as Map<String, dynamic>;
|
||||
throw Exception('Erreur ${response.statusCode}');
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Map<String, dynamic>> analyzePerformance() async {
|
||||
final response = await _apiClient.post('$_base/performance/analyze');
|
||||
if (response.statusCode == 200) return response.data as Map<String, dynamic>;
|
||||
throw Exception('Erreur ${response.statusCode}');
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Map<String, dynamic>> createBackup() async {
|
||||
final response = await _apiClient.post('$_base/backup/create');
|
||||
if (response.statusCode == 200) return response.data as Map<String, dynamic>;
|
||||
throw Exception('Erreur ${response.statusCode}');
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Map<String, dynamic>> scheduleMaintenance({String? scheduledAt, String? reason}) async {
|
||||
final queryParams = <String, String>{};
|
||||
if (scheduledAt != null) queryParams['scheduledAt'] = scheduledAt;
|
||||
if (reason != null) queryParams['reason'] = reason;
|
||||
final response = await _apiClient.post(
|
||||
'$_base/maintenance/schedule',
|
||||
queryParameters: queryParams.isNotEmpty ? queryParams : null,
|
||||
);
|
||||
if (response.statusCode == 200) return response.data as Map<String, dynamic>;
|
||||
throw Exception('Erreur ${response.statusCode}');
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Map<String, dynamic>> emergencyMaintenance() async {
|
||||
final response = await _apiClient.post('$_base/maintenance/emergency');
|
||||
if (response.statusCode == 200) return response.data as Map<String, dynamic>;
|
||||
throw Exception('Erreur ${response.statusCode}');
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Map<String, dynamic>> checkUpdates() async {
|
||||
final response = await _apiClient.get('$_base/updates/check');
|
||||
if (response.statusCode == 200) return response.data as Map<String, dynamic>;
|
||||
throw Exception('Erreur ${response.statusCode}');
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Map<String, dynamic>> exportLogs() async {
|
||||
final response = await _apiClient.get('$_base/logs/export');
|
||||
if (response.statusCode == 200) return response.data as Map<String, dynamic>;
|
||||
throw Exception('Erreur ${response.statusCode}');
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Map<String, dynamic>> generateUsageReport() async {
|
||||
final response = await _apiClient.get('$_base/reports/usage');
|
||||
if (response.statusCode == 200) return response.data as Map<String, dynamic>;
|
||||
throw Exception('Erreur ${response.statusCode}');
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Map<String, dynamic>> generateAuditReport() async {
|
||||
final response = await _apiClient.get('$_base/audit/report');
|
||||
if (response.statusCode == 200) return response.data as Map<String, dynamic>;
|
||||
throw Exception('Erreur ${response.statusCode}');
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Map<String, dynamic>> exportGDPRData() async {
|
||||
final response = await _apiClient.post('$_base/gdpr/export');
|
||||
if (response.statusCode == 200) return response.data as Map<String, dynamic>;
|
||||
throw Exception('Erreur ${response.statusCode}');
|
||||
}
|
||||
|
||||
@override
|
||||
Future<SystemConfigModel> resetConfig() async {
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user