Mise à jour statut événement
This commit is contained in:
@@ -19,4 +19,5 @@ public class EventUpdateRequestDTO {
|
|||||||
private String category;
|
private String category;
|
||||||
private String link;
|
private String link;
|
||||||
private String imageUrl;
|
private String imageUrl;
|
||||||
|
private String status;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -21,6 +21,7 @@ public class EventCreateResponseDTO {
|
|||||||
private String link; // Lien vers plus d'informations
|
private String link; // Lien vers plus d'informations
|
||||||
private String imageUrl; // URL d'une image pour l'événement
|
private String imageUrl; // URL d'une image pour l'événement
|
||||||
private String creatorEmail; // Email du créateur de 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.
|
* Constructeur qui transforme une entité Events en DTO.
|
||||||
@@ -38,5 +39,6 @@ public class EventCreateResponseDTO {
|
|||||||
this.link = event.getLink();
|
this.link = event.getLink();
|
||||||
this.imageUrl = event.getImageUrl();
|
this.imageUrl = event.getImageUrl();
|
||||||
this.creatorEmail = event.getCreator().getEmail();
|
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
|
private String imageUrl; // URL d'une image associée à l'événement
|
||||||
|
|
||||||
@Column(name = "status", nullable = false)
|
@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")
|
@Column(name = "profile_image_url")
|
||||||
private String profileImageUrl; // URL de la photo de profil
|
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.
|
* Ferme l'événement en changeant son statut.
|
||||||
*/
|
*/
|
||||||
public void setClosed(boolean closed) {
|
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);
|
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();
|
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.
|
* Endpoint pour mettre à jour un événement.
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -44,7 +44,7 @@ public class EventService {
|
|||||||
event.setLink(eventCreateRequestDTO.getLink());
|
event.setLink(eventCreateRequestDTO.getLink());
|
||||||
event.setImageUrl(eventCreateRequestDTO.getImageUrl());
|
event.setImageUrl(eventCreateRequestDTO.getImageUrl());
|
||||||
event.setCreator(creator);
|
event.setCreator(creator);
|
||||||
event.setStatus("en cours");
|
event.setStatus("ouvert");
|
||||||
|
|
||||||
eventsRepository.persist(event);
|
eventsRepository.persist(event);
|
||||||
logger.info("[LOG] Événement créé avec succès : {}", event.getTitle());
|
logger.info("[LOG] Événement créé avec succès : {}", event.getTitle());
|
||||||
|
|||||||
Reference in New Issue
Block a user