23 lines
760 B
Dart
23 lines
760 B
Dart
/// Use Case: Créer une nouvelle organisation
|
|
library create_organization;
|
|
|
|
import 'package:injectable/injectable.dart';
|
|
import '../../data/models/organization_model.dart';
|
|
import '../repositories/organization_repository.dart';
|
|
|
|
/// Crée une nouvelle organisation (SuperAdmin uniquement)
|
|
@injectable
|
|
class CreateOrganization {
|
|
final IOrganizationRepository _repository;
|
|
|
|
CreateOrganization(this._repository);
|
|
|
|
/// Exécute le use case
|
|
/// [organization] : Modèle de l'organisation à créer
|
|
/// Retourne l'organisation créée avec son ID
|
|
/// Lève une exception en cas d'erreur (données invalides, conflit)
|
|
Future<OrganizationModel> call(OrganizationModel organization) async {
|
|
return _repository.createOrganization(organization);
|
|
}
|
|
}
|