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 version pour suivre les modifications des créneaux.
    • Ajout des méthodes getVersion et incrementVersion pour accéder et incrémenter la version.
  • Modification de la classe CalendarSlotDTO :

    • Inclusion du champ version pour transférer les informations de version entre le serveur et le client.
  • Adaptation de la classe Convertor :

    • Gestion du champ version dans les conversions entre CalendarSlot et CalendarSlotDTO.
  • Implémentation de la méthode updateCalendarSlot dans CalendarController :

    • 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, ou SLOT_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 Created avec 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 OK en cas de succès, 409 Conflict en cas de conflit de version, ou 404 Not Found si le créneau n'existe pas.
  • 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.

Merge request reports

Loading