Class UtilisateurRepository
java.lang.Object
server.bd.repository.UtilisateurRepository
- All Implemented Interfaces:
IUtilisateurRepository
Repository gérant toutes les opérations de base de données liées aux
utilisateurs.
Implémente les fonctionnalités CRUD pour les clients et gère
l'authentification.
Cette classe utilise le pattern Repository pour encapsuler l'accès aux
données
et maintenir la séparation entre la logique métier et la couche de
persistance.
- Version:
- V1
- Author:
- Prévost Donovan
-
Constructor Summary
ConstructorsConstructorDescriptionConstructeur qui initialise la connexion à la base de données. -
Method Summary
Modifier and TypeMethodDescriptionintauthenticate(String pseudo, String mdp) Authentifie un client avec ses identifiants de connexion.intcreateClient(Client client) Crée un nouveau client dans la base de données.byte[]getAvatarById(int clientId) Récupère l'avatar (image de profil) d'un client par son identifiant.getClientById(int id) Récupère un client spécifique à partir de son identifiant unique.getClientByPseudo(String pseudo) Récupère un client à partir de son pseudo unique.intgetClientId(String pseudo) Récupère l'identifiant unique d'un client à partir de son pseudo.Récupère la liste complète de tous les clients enregistrés.getConnexionValideClient(String pseudo, String mdp) Valide les identifiants de connexion d'un client.Alias de la méthode getClients() pour compatibilité d'interface.booleanMet à jour les informations d'un client existant.
-
Constructor Details
-
UtilisateurRepository
public UtilisateurRepository()Constructeur qui initialise la connexion à la base de données. Récupère l'instance unique de ConnexionBD via le pattern Singleton.
-
-
Method Details
-
getClientId
Récupère l'identifiant unique d'un client à partir de son pseudo. Effectue une recherche dans la table clients par pseudo.- Parameters:
pseudo- le pseudo du client à rechercher- Returns:
- l'ID du client si trouvé, -1 si aucun client ne correspond
-
getClients
-
getClientById
Récupère un client spécifique à partir de son identifiant unique. Utilisé pour les opérations nécessitant un client précis.- Parameters:
id- l'identifiant unique du client- Returns:
- l'objet Client correspondant, ou null si aucun client trouvé
-
getClientByPseudo
Récupère un client à partir de son pseudo unique. Le pseudo étant un identifiant métier, cette méthode est fréquemment utilisée lors des connexions et recherches.- Parameters:
pseudo- le pseudo unique du client- Returns:
- l'objet Client correspondant, ou null si aucun client trouvé
-
getConnexionValideClient
Valide les identifiants de connexion d'un client. Vérifie que la combinaison pseudo/mot de passe existe dans la base. Cette méthode est utilisée pour l'authentification des utilisateurs.- Parameters:
pseudo- le pseudo du clientmdp- le mot de passe en clair- Returns:
- true si les identifiants sont valides, false s'ils sont incorrects, null en cas d'erreur de base de données
-
listClients
-
createClient
Crée un nouveau client dans la base de données. Vérifie l'unicité du pseudo avant l'insertion et génère automatiquement l'identifiant et la date de création.- Specified by:
createClientin interfaceIUtilisateurRepository- Parameters:
client- l'objet Client à créer (doit contenir pseudo et mot de passe)- Returns:
- l'ID généré du nouveau client si création réussie, -1 en cas d'échec
-
majClient
Met à jour les informations d'un client existant. Modifie le pseudo et/ou le mot de passe d'un client identifié par son ID.- Parameters:
client- l'objet Client contenant les nouvelles données et l'ID existant- Returns:
- true si la mise à jour a réussi, false sinon
-
authenticate
Authentifie un client avec ses identifiants de connexion. Combine la recherche par pseudo et la vérification du mot de passe pour valider l'identité d'un utilisateur.- Specified by:
authenticatein interfaceIUtilisateurRepository- Parameters:
pseudo- le pseudo du clientmdp- le mot de passe en clair- Returns:
- l'ID du client si authentification réussie, -1 si échec
-
getAvatarById
public byte[] getAvatarById(int clientId) Récupère l'avatar (image de profil) d'un client par son identifiant. Retourne les données binaires de l'image stockée en base de données.- Specified by:
getAvatarByIdin interfaceIUtilisateurRepository- Parameters:
clientId- l'identifiant du client- Returns:
- les données binaires de l'avatar, ou null si aucun avatar ou erreur
-