feat(backend): Séparer les demandes d'amitié envoyées et reçues
- Ajout de méthodes dans FriendshipRepository pour récupérer séparément les demandes envoyées (findSentRequestsByUser) et reçues (findReceivedRequestsByUser)
- Ajout de méthodes dans FriendshipService pour lister les demandes envoyées (listSentFriendRequests) et reçues (listReceivedFriendRequests)
- Ajout de deux nouveaux endpoints REST:
- GET /friends/sent/{userId} : récupère les demandes envoyées par un utilisateur
- GET /friends/received/{userId} : récupère les demandes reçues par un utilisateur
- Permet une meilleure séparation logique entre les demandes que l'utilisateur a envoyées et celles qu'il a reçues
This commit is contained in:
@@ -255,4 +255,46 @@ public class FriendshipService {
|
||||
|
||||
return friendships.stream().map(FriendshipReadStatusResponseDTO::new).toList();
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupérer les demandes d'amitié envoyées par un utilisateur.
|
||||
*
|
||||
* @param userId ID de l'utilisateur.
|
||||
* @param page Numéro de la page.
|
||||
* @param size Taille de la page.
|
||||
* @return Liste des demandes d'amitié envoyées.
|
||||
*/
|
||||
public List<FriendshipReadStatusResponseDTO> listSentFriendRequests(UUID userId, int page, int size) {
|
||||
Users user = usersRepository.findById(userId);
|
||||
if (user == null) {
|
||||
logger.error("[ERROR] Utilisateur non trouvé.");
|
||||
throw new UserNotFoundException("Utilisateur introuvable.");
|
||||
}
|
||||
|
||||
List<Friendship> friendships = friendshipRepository.findSentRequestsByUser(user, FriendshipStatus.PENDING, page - 1, size);
|
||||
logger.info("[LOG] " + friendships.size() + " demandes d'amitié envoyées récupérées.");
|
||||
|
||||
return friendships.stream().map(FriendshipReadStatusResponseDTO::new).toList();
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupérer les demandes d'amitié reçues par un utilisateur.
|
||||
*
|
||||
* @param userId ID de l'utilisateur.
|
||||
* @param page Numéro de la page.
|
||||
* @param size Taille de la page.
|
||||
* @return Liste des demandes d'amitié reçues.
|
||||
*/
|
||||
public List<FriendshipReadStatusResponseDTO> listReceivedFriendRequests(UUID userId, int page, int size) {
|
||||
Users user = usersRepository.findById(userId);
|
||||
if (user == null) {
|
||||
logger.error("[ERROR] Utilisateur non trouvé.");
|
||||
throw new UserNotFoundException("Utilisateur introuvable.");
|
||||
}
|
||||
|
||||
List<Friendship> friendships = friendshipRepository.findReceivedRequestsByUser(user, FriendshipStatus.PENDING, page - 1, size);
|
||||
logger.info("[LOG] " + friendships.size() + " demandes d'amitié reçues récupérées.");
|
||||
|
||||
return friendships.stream().map(FriendshipReadStatusResponseDTO::new).toList();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user