Class ClientService
java.lang.Object
server.metier.service.ClientService
Service métier gérant les opérations liées aux clients de l'application
MateZone.
Cette classe encapsule la logique business pour l'authentification,
l'inscription,
l'envoi de messages et la gestion des canaux de chat.
Elle fait le lien entre la couche présentation (WebSocket) et la couche
données (repositories).
- Version:
- V1
- Author:
- Prévost Donovan
-
Constructor Summary
ConstructorsConstructorDescriptionClientService(IUtilisateurRepository iUserRepo, IMessageRepository iMesRepo) Constructeur du service client. -
Method Summary
Modifier and TypeMethodDescriptionvoidhandleLogin(org.java_websocket.WebSocket client, ChatEventDTO eventRec) Gère la tentative de connexion d'un client.voidhandleNewChannel(org.java_websocket.WebSocket client, ChatEventDTO eventRec) Savoir ou est l'utilisateur Fo"voidhandleNewMessage(org.java_websocket.WebSocket client, ChatEventDTO eventRec) Gère l'insertion d'un nouveau message Format attendu: "NEWMESSAGE:idClient:idChannel:leMessage"voidhandleRegister(org.java_websocket.WebSocket client, ChatEventDTO eventRec) voidsetIWebSocketMateZone(IWebSocketMateZone iWebSocketMateZone) Configure l'interface WebSocket pour ce service.
-
Constructor Details
-
ClientService
Constructeur du service client. Initialise les repositories nécessaires pour les opérations de données. L'interface WebSocket sera configurée ultérieurement via setIWebSocketMateZone.- Parameters:
iUserRepo- repository pour les opérations utilisateuriMesRepo- repository pour les opérations de messages
-
-
Method Details
-
setIWebSocketMateZone
Configure l'interface WebSocket pour ce service. Nécessaire pour permettre la communication temps réel avec les clients connectés.- Parameters:
iWebSocketMateZone- l'interface WebSocket à utiliser pour les communications
-
handleLogin
Gère la tentative de connexion d'un client. Vérifie les identifiants via le repository utilisateur et renvoie soit un succès avec l'ID du client, soit une erreur d'authentification. En cas de succès, envoie également la liste des messages du canal par défaut.- Parameters:
client- la connexion WebSocket du clienteventRec- l'événement de connexion reçu contenant pseudo et mot de passe
-
handleRegister
-
handleNewMessage
Gère l'insertion d'un nouveau message Format attendu: "NEWMESSAGE:idClient:idChannel:leMessage" -
handleNewChannel
Savoir ou est l'utilisateur Fo"
-