Bon checkpoint + Refactoring

This commit is contained in:
DahoudG
2024-11-08 20:30:39 +00:00
parent 841789f8c2
commit 588984aa9c
13 changed files with 1048 additions and 478 deletions

View File

@@ -6,6 +6,7 @@ import com.lions.dev.dto.request.friends.FriendshipReadStatusRequestDTO;
import com.lions.dev.dto.response.friends.FriendshipCreateOneResponseDTO;
import com.lions.dev.dto.response.friends.FriendshipReadFriendDetailsResponseDTO;
import com.lions.dev.dto.response.friends.FriendshipReadStatusResponseDTO;
import com.lions.dev.exception.UserNotFoundException;
import com.lions.dev.service.FriendshipService;
import jakarta.inject.Inject;
import jakarta.validation.Valid;
@@ -215,35 +216,39 @@ public class FriendshipResource {
summary = "Récupérer la liste des amis",
description = "Retourne la liste des amis d'un utilisateur avec pagination")
@APIResponses({
@APIResponse(
responseCode = "200",
description = "Liste des amis récupérée avec succès",
content =
@Content(
mediaType = MediaType.APPLICATION_JSON,
schema = @Schema(implementation = FriendshipReadFriendDetailsResponseDTO.class))),
@APIResponse(responseCode = "404", description = "Utilisateur non trouvé"),
@APIResponse(responseCode = "500", description = "Erreur lors de la récupération des amis")
@APIResponse(
responseCode = "200",
description = "Liste des amis récupérée avec succès",
content = @Content(
mediaType = MediaType.APPLICATION_JSON,
schema = @Schema(implementation = FriendshipReadFriendDetailsResponseDTO.class))),
@APIResponse(responseCode = "404", description = "Utilisateur non trouvé"),
@APIResponse(responseCode = "500", description = "Erreur lors de la récupération des amis")
})
public Response listFriends(
@PathParam("userId") UUID userId,
@QueryParam("page") @DefaultValue("0") int page,
@QueryParam("size") @DefaultValue("10") int size) {
logger.info(
"[LOG] Reçu une demande pour récupérer la liste des amis de l'utilisateur avec l'ID : "
+ userId);
logger.info("[LOG] Reçu une demande pour récupérer la liste des amis de l'utilisateur avec l'ID : " + userId);
try {
List<FriendshipReadFriendDetailsResponseDTO> friendships =
friendshipService.listFriends(userId, page, size);
logger.info("[LOG] Liste des amis récupérée avec succès.");
List<FriendshipReadFriendDetailsResponseDTO> friendships = friendshipService.listFriends(userId, page, size)
.stream()
.distinct() // Assure qu'il n'y a pas de doublons
.toList();
logger.info("[LOG] Liste des amis récupérée avec succès, nombre d'amis : " + friendships.size());
return Response.ok(friendships).build();
} catch (UserNotFoundException e) {
logger.error("[ERROR] Utilisateur non trouvé : " + e.getMessage());
return Response.status(Response.Status.NOT_FOUND)
.entity("{\"message\": \"Utilisateur non trouvé.\"}")
.build();
} catch (Exception e) {
logger.error(
"[ERROR] Erreur lors de la récupération de la liste des amis : " + e.getMessage(), e);
logger.error("[ERROR] Erreur lors de la récupération de la liste des amis : " + e.getMessage(), e);
return Response.status(Response.Status.INTERNAL_SERVER_ERROR)
.entity("{\"message\": \"Erreur lors de la récupération des amis.\"}")
.build();
.entity("{\"message\": \"Erreur lors de la récupération des amis.\"}")
.build();
}
}