Class ClientService

java.lang.Object
server.metier.service.ClientService

public class ClientService extends Object
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 Details

    • ClientService

      public ClientService(IUtilisateurRepository iUserRepo, IMessageRepository iMesRepo)
      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 utilisateur
      iMesRepo - repository pour les opérations de messages
  • Method Details

    • setIWebSocketMateZone

      public void setIWebSocketMateZone(IWebSocketMateZone iWebSocketMateZone)
      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

      public void handleLogin(org.java_websocket.WebSocket client, ChatEventDTO eventRec)
      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 client
      eventRec - l'événement de connexion reçu contenant pseudo et mot de passe
    • handleRegister

      public void handleRegister(org.java_websocket.WebSocket client, ChatEventDTO eventRec)
    • handleNewMessage

      public void handleNewMessage(org.java_websocket.WebSocket client, ChatEventDTO eventRec)
      Gère l'insertion d'un nouveau message Format attendu: "NEWMESSAGE:idClient:idChannel:leMessage"
    • handleNewChannel

      public void handleNewChannel(org.java_websocket.WebSocket client, ChatEventDTO eventRec)
      Savoir ou est l'utilisateur Fo"