Gestion des Personnes & Filtres - 0x485254/brief-26 GitHub Wiki
🙍♀️ Gestion des Personnes – Azriel
📁 Arborescence & Fichiers existants
backend/
└── src/
├── main/
│ ├── java/com/easygroup/
│ │ ├── controller/
│ │ │ └── PersonController.java
│ │ ├── service/
│ │ │ └── PersonService.java
│ │ ├── repository/
│ │ │ └── PersonRepository.java
│ │ ├── entity/
│ │ │ └── Person.java
│ │ └── dto/
│ │ ├── PersonRequest.java
│ │ └── PersonResponse.java
└── test/
└── java/com/easygroup/
└── PersonControllerTests.java
📌 Fichiers & responsabilités globales
PersonController.java
Expose les endpoints REST pour la gestion CRUD des personnes dans les listes d'apprenants.
PersonService.java
Logique métier pour la création, modification, suppression et recherche de personnes avec validation des données.
PersonRepository.java
Accès aux données des personnes avec requêtes spécialisées pour les listes et le tri.
Person.java
Entité représentant un apprenant avec ses caractéristiques (âge, niveau, profil, etc.).
PersonRequest.java
DTO pour les données d'entrée lors de la création/modification d'une personne avec validation.
PersonResponse.java
DTO pour les données de sortie lors de la consultation des personnes.
PersonControllerTests.java
Tests unitaires et d'intégration pour valider le comportement du contrôleur avec authentification.
🔧 Méthodes détaillées
PersonController
Méthode | Endpoint | Rôle |
---|---|---|
addPersonToList(UUID userId, UUID listId, PersonRequest request) |
POST /users/{userId}/lists/{listId}/persons |
Ajoute une nouvelle personne à une liste |
getPersonsByList(UUID userId, UUID listId) |
GET /users/{userId}/lists/{listId}/persons |
Récupère toutes les personnes d'une liste triées par nom |
editPerson(UUID userId, UUID listId, UUID personId, PersonRequest request) |
PUT /users/{userId}/lists/{listId}/persons/{personId} |
Modifie les caractéristiques d'une personne |
deletePerson(UUID userId, UUID listId, UUID personId) |
DELETE /users/{userId}/lists/{listId}/persons/{personId} |
Supprime une personne de la liste |
PersonService
Méthode | Rôle |
---|---|
save(Integer age, Integer frenchLevel, Person.Gender gender, String name, Boolean oldDWWM, Person.Profile profile, Integer techLevel, UUID listId) |
Crée et sauvegarde une nouvelle personne dans une liste |
findByListIdOrderByName(UUID listId) |
Trouve toutes les personnes d'une liste triées alphabétiquement |
edit(UUID id, Integer age, Integer frenchLevel, Person.Gender gender, String name, Boolean oldDWWM, Person.Profile profile, Integer techLevel) |
Met à jour les informations d'une personne existante |
deleteById(UUID id) |
Supprime une personne par son identifiant |
countByList(ListEntity list) |
Compte le nombre de personnes dans une liste |
deleteByList(ListEntity list) |
Supprime toutes les personnes d'une liste |
PersonRepository
Méthode | Rôle |
---|---|
findByList(ListEntity list) |
Trouve toutes les personnes appartenant à une liste |
findByListOrderByNameAsc(ListEntity list) |
Trouve les personnes d'une liste triées par nom croissant |
countByList(ListEntity list) |