chore(quarkus-327): bump to Quarkus 3.27.3 LTS, rename deprecated config keys
This commit is contained in:
@@ -0,0 +1,90 @@
|
||||
package dev.lions.btpxpress.service;
|
||||
|
||||
import jakarta.enterprise.context.ApplicationScoped;
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.ws.rs.core.Response;
|
||||
import org.eclipse.microprofile.rest.client.inject.RestClient;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* Service de gestion des messages côté client.
|
||||
* <p>
|
||||
* Ce service encapsule la communication avec l'API backend pour les opérations
|
||||
* liées aux messages.
|
||||
* </p>
|
||||
*
|
||||
* @author BTP Xpress Development Team
|
||||
* @version 1.0.0
|
||||
* @since 1.0.0
|
||||
*/
|
||||
@ApplicationScoped
|
||||
public class MessageService {
|
||||
|
||||
private static final Logger LOG = LoggerFactory.getLogger(MessageService.class);
|
||||
|
||||
@Inject
|
||||
@RestClient
|
||||
BtpXpressApiClient apiClient;
|
||||
|
||||
/**
|
||||
* Récupère le nombre de messages non lus pour un utilisateur.
|
||||
*
|
||||
* @param userId L'identifiant de l'utilisateur (UUID en String).
|
||||
* @return Le nombre de messages non lus, ou 0 en cas d'erreur.
|
||||
*/
|
||||
public int getUnreadCount(String userId) {
|
||||
try {
|
||||
LOG.debug("Récupération du nombre de messages non lus pour l'utilisateur : {}", userId);
|
||||
Response response = apiClient.getMessagesNonLus(userId);
|
||||
if (response.getStatus() == Response.Status.OK.getStatusCode()) {
|
||||
@SuppressWarnings("unchecked")
|
||||
List<Map<String, Object>> messages = response.readEntity(List.class);
|
||||
int count = messages != null ? messages.size() : 0;
|
||||
LOG.debug("Nombre de messages non lus : {}", count);
|
||||
return count;
|
||||
} else {
|
||||
LOG.warn("Erreur lors de la récupération des messages non lus. Code HTTP : {}",
|
||||
response.getStatus());
|
||||
return 0;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
LOG.error("Erreur lors de la communication avec l'API backend pour récupérer les messages : {}",
|
||||
e.getMessage(), e);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Récupère tous les messages non lus pour un utilisateur.
|
||||
*
|
||||
* @param userId L'identifiant de l'utilisateur (UUID en String).
|
||||
* @return Liste des messages non lus, ou liste vide en cas d'erreur.
|
||||
*/
|
||||
public List<Map<String, Object>> getUnreadMessages(String userId) {
|
||||
try {
|
||||
LOG.debug("Récupération des messages non lus pour l'utilisateur : {}", userId);
|
||||
Response response = apiClient.getMessagesNonLus(userId);
|
||||
if (response.getStatus() == Response.Status.OK.getStatusCode()) {
|
||||
@SuppressWarnings("unchecked")
|
||||
List<Map<String, Object>> messages = response.readEntity(List.class);
|
||||
LOG.debug("Messages non lus récupérés : {} élément(s)",
|
||||
messages != null ? messages.size() : 0);
|
||||
return messages != null ? messages : new ArrayList<>();
|
||||
} else {
|
||||
LOG.warn("Erreur lors de la récupération des messages. Code HTTP : {}",
|
||||
response.getStatus());
|
||||
return new ArrayList<>();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
LOG.error("Erreur lors de la communication avec l'API backend pour récupérer les messages : {}",
|
||||
e.getMessage(), e);
|
||||
return new ArrayList<>();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user