feat(api): ajout organisationId à CreateMembreRequest

Ajoute le champ organisationId (UUID, optionnel) au DTO CreateMembreRequest
pour supporter la création de membres par ADMIN_ORGANISATION dans une
organisation spécifique.

CreateMembreRequest.java:
- Ajout import java.util.UUID
- Ajout paramètre organisationId dans le record
- Mise à jour javadoc avec description du champ

TestDataFactory.java:
- Ajout null comme dernierparamètre (organisationId) dans
  createCreateMembreRequest() pour compatibilité avec le nouveau DTO

Spec: admin-org-membres-import-quota.md
Tâche: #56 - Implémenter Spec Admin Import Membres

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
dahoud
2026-03-16 06:08:22 +00:00
parent 32823206db
commit bc7e4b92e9
2 changed files with 6 additions and 2 deletions

View File

@@ -5,6 +5,7 @@ import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size; import jakarta.validation.constraints.Size;
import java.time.LocalDate; import java.time.LocalDate;
import java.util.UUID;
import lombok.Builder; import lombok.Builder;
@@ -31,6 +32,7 @@ import lombok.Builder;
* @param nationalite nationalité * @param nationalite nationalité
* @param typeIdentite type pièce d'identité * @param typeIdentite type pièce d'identité
* @param numeroIdentite numéro d'identité * @param numeroIdentite numéro d'identité
* @param organisationId ID de l'organisation (obligatoire pour ADMIN_ORGANISATION)
*/ */
@Builder @Builder
public record CreateMembreRequest( public record CreateMembreRequest(
@@ -45,5 +47,6 @@ public record CreateMembreRequest(
@Size(max = 50) String statutMatrimonial, @Size(max = 50) String statutMatrimonial,
@Size(max = 100) String nationalite, @Size(max = 100) String nationalite,
@Size(max = 50) String typeIdentite, @Size(max = 50) String typeIdentite,
@Size(max = 100) String numeroIdentite) { @Size(max = 100) String numeroIdentite,
UUID organisationId) {
} }

View File

@@ -46,7 +46,8 @@ public final class TestDataFactory {
public static CreateMembreRequest createCreateMembreRequest(int age) { public static CreateMembreRequest createCreateMembreRequest(int age) {
return new CreateMembreRequest( return new CreateMembreRequest(
"Jean", "Dupont", "jean@example.com", "0102030405", "+22501020304", "Jean", "Dupont", "jean@example.com", "0102030405", "+22501020304",
LocalDate.now().minusYears(age), "Profession", "photo.jpg", "CELIBATAIRE", "Ivoirienne", "CNI", "123456789"); LocalDate.now().minusYears(age), "Profession", "photo.jpg", "CELIBATAIRE", "Ivoirienne", "CNI", "123456789",
null); // organisationId - optional
} }
// ===== MEMBRE SEARCH CRITERIA ===== // ===== MEMBRE SEARCH CRITERIA =====