Mise à jour statut événement
This commit is contained in:
@@ -19,4 +19,5 @@ public class EventUpdateRequestDTO {
|
||||
private String category;
|
||||
private String link;
|
||||
private String imageUrl;
|
||||
private String status;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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.
|
||||
*
|
||||
|
||||
@@ -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());
|
||||
|
||||
Reference in New Issue
Block a user