Initial commit: unionflow-mobile-apps
Application Flutter complète (sans build artifacts). Signed-off-by: lions dev Team
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
/// Interface du repository des organisations (Clean Architecture - Domain Layer)
|
||||
library organization_repository;
|
||||
|
||||
import '../../data/models/organization_model.dart';
|
||||
|
||||
/// Interface du repository pour la gestion des organisations
|
||||
/// Contrat défini dans la couche Domain, implémenté dans la couche Data
|
||||
abstract class IOrganizationRepository {
|
||||
/// Récupère la liste des organisations avec pagination
|
||||
Future<List<OrganizationModel>> getOrganizations({
|
||||
int page = 0,
|
||||
int size = 20,
|
||||
String? recherche,
|
||||
});
|
||||
|
||||
/// Récupère les organisations du membre connecté (pour OrgAdmin)
|
||||
Future<List<OrganizationModel>> getMesOrganisations();
|
||||
|
||||
/// Récupère une organisation par son ID
|
||||
Future<OrganizationModel?> getOrganizationById(String id);
|
||||
|
||||
/// Crée une nouvelle organisation (SuperAdmin)
|
||||
Future<OrganizationModel> createOrganization(OrganizationModel organization);
|
||||
|
||||
/// Met à jour une organisation (OrgAdmin)
|
||||
Future<OrganizationModel> updateOrganization(String id, OrganizationModel organization);
|
||||
|
||||
/// Supprime une organisation (SuperAdmin)
|
||||
Future<void> deleteOrganization(String id);
|
||||
|
||||
/// Active une organisation
|
||||
Future<OrganizationModel> activateOrganization(String id);
|
||||
|
||||
/// Suspend une organisation
|
||||
Future<OrganizationModel> suspendOrganization(String id);
|
||||
|
||||
/// Recherche avancée d'organisations
|
||||
Future<List<OrganizationModel>> searchOrganizations({
|
||||
String? nom,
|
||||
TypeOrganization? type,
|
||||
StatutOrganization? statut,
|
||||
String? ville,
|
||||
String? region,
|
||||
String? pays,
|
||||
int page = 0,
|
||||
int size = 20,
|
||||
});
|
||||
|
||||
/// Récupère les membres d'une organisation (GET /api/organisations/{id}/membres)
|
||||
Future<List<Map<String, dynamic>>> getOrganizationMembers(String organizationId);
|
||||
|
||||
/// Met à jour la configuration d'une organisation (PUT /api/organisations/{id}/configuration)
|
||||
/// Configuration: logo, couleurs, préférences, modules activés, etc.
|
||||
Future<OrganizationModel> updateOrganizationConfig(
|
||||
String id,
|
||||
Map<String, dynamic> config,
|
||||
);
|
||||
|
||||
/// Récupère les statistiques des organisations
|
||||
Future<Map<String, dynamic>> getOrganizationsStats();
|
||||
}
|
||||
Reference in New Issue
Block a user