Mise à jour statut événement

This commit is contained in:
DahoudG
2024-09-25 21:28:56 +00:00
parent f84b49f9d7
commit 800fdd4d12
5 changed files with 40 additions and 3 deletions

View File

@@ -279,6 +279,39 @@ public class EventsResource {
return Response.ok(new EventCreateResponseDTO(event)).build();
}
/**
* Endpoint pour réouvrir un événement.
*
* @param eventId L'ID de l'événement.
* @return Une réponse HTTP indiquant le succès de la réouverture.
*/
@POST
@Path("/{id}/reopen")
@Transactional
@Operation(
summary = "Réouvrir un événement",
description = "Réouvre un événement et permet à nouveau les participations")
public Response reopenEvent(@PathParam("id") UUID eventId) {
LOG.info("Tentative de réouverture de l'événement avec l'ID : " + eventId);
Events event = eventsRepository.findById(eventId);
if (event == null) {
LOG.warn("Événement non trouvé avec l'ID : " + eventId);
return Response.status(Response.Status.NOT_FOUND).entity("Événement non trouvé.").build();
}
if ("ouvert".equals(event.getStatus())) {
LOG.warn("L'événement avec l'ID " + eventId + " est déjà ouvert.");
return Response.status(Response.Status.BAD_REQUEST).entity("L'événement est déjà ouvert.").build();
}
event.setStatus("ouvert"); // Marquer l'événement comme ouvert
eventsRepository.persist(event);
LOG.info("Événement réouvert avec succès : " + event.getTitle());
return Response.ok(new EventCreateResponseDTO(event)).build();
}
/**
* Endpoint pour mettre à jour un événement.
*