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

@@ -19,4 +19,5 @@ public class EventUpdateRequestDTO {
private String category;
private String link;
private String imageUrl;
private String status;
}

View File

@@ -21,6 +21,7 @@ public class EventCreateResponseDTO {
private String link; // Lien vers plus d'informations
private String imageUrl; // URL d'une image pour l'événement
private String creatorEmail; // Email du créateur de l'événement
private String status;
/**
* Constructeur qui transforme une entité Events en DTO.
@@ -38,5 +39,6 @@ public class EventCreateResponseDTO {
this.link = event.getLink();
this.imageUrl = event.getImageUrl();
this.creatorEmail = event.getCreator().getEmail();
this.status = event.getStatus();
}
}

View File

@@ -51,7 +51,7 @@ public class Events extends BaseEntity {
private String imageUrl; // URL d'une image associée à l'événement
@Column(name = "status", nullable = false)
private String status = "en cours"; // Le statut de l'événement (en cours, terminé, annulé, etc.)
private String status = "ouvert"; // Le statut de l'événement (en cours, terminé, annulé, etc.)
@Column(name = "profile_image_url")
private String profileImageUrl; // URL de la photo de profil
@@ -105,7 +105,8 @@ public class Events extends BaseEntity {
* Ferme l'événement en changeant son statut.
*/
public void setClosed(boolean closed) {
this.status = closed ? "fermé" : "en cours";
this.status = closed ? "fermé" : "ouvert";
System.out.println("[LOG] Statut de l'événement mis à jour : " + this.title + " - " + this.status);
}
}

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.
*

View File

@@ -44,7 +44,7 @@ public class EventService {
event.setLink(eventCreateRequestDTO.getLink());
event.setImageUrl(eventCreateRequestDTO.getImageUrl());
event.setCreator(creator);
event.setStatus("en cours");
event.setStatus("ouvert");
eventsRepository.persist(event);
logger.info("[LOG] Événement créé avec succès : {}", event.getTitle());