Implémentation de la création et de la mise à jour des créneaux avec gestion des versions
-
Ajout de la gestion des versions dans la classe
CalendarSlot:- Ajout de l'attribut
versionpour suivre les modifications des créneaux. - Ajout des méthodes
getVersionetincrementVersionpour accéder et incrémenter la version.
- Ajout de l'attribut
-
Modification de la classe
CalendarSlotDTO:- Inclusion du champ
versionpour transférer les informations de version entre le serveur et le client.
- Inclusion du champ
-
Adaptation de la classe
Convertor:- Gestion du champ
versiondans les conversions entreCalendarSlotetCalendarSlotDTO.
- Gestion du champ
-
Implémentation de la méthode
updateCalendarSlotdansCalendarController:- Vérification de l'existence du créneau à mettre à jour.
- Validation de la correspondance entre la version fournie et la version actuelle +1.
- Mise à jour des données du créneau et synchronisation avec le DAO.
- Retour d'un statut détaillé (
SUCCESS,VERSION_MISMATCH, ouSLOT_NOT_FOUND).
-
Ajout des routes API dans la classe
Main:-
POST
/timeslots: Permet de créer un nouveau créneau.- Le DAO attribue automatiquement un identifiant unique (ID).
- Retourne un code HTTP
201 Createdavec l'ID généré.
-
PUT
/timeslots/{id}?version={version}: Permet de mettre à jour un créneau existant.- Validation de la version et de l'existence du créneau.
- Retourne un code HTTP
200 OKen cas de succès,409 Conflicten cas de conflit de version, ou404 Not Foundsi le créneau n'existe pas.
-
POST
-
Tests réussis via Postman :
- Création de créneaux avec la route POST.
- Mise à jour de créneaux avec validation des versions et gestion des erreurs.