Change verificationIdentifiants behaviour and add a method to fetch data on user by id

This commit is contained in:
Mylloon 2021-11-19 23:54:51 +01:00
parent bc177c2aa8
commit 7c5e52a59f

View file

@ -28,7 +28,7 @@ class Utilisateurs(BaseDeDonnees):
passe="P@ssword",
metier=0,
nom="Admin",
prenom="Admin",
prenom="Système",
naissance="2000/10/09",
adresse="12 Rue de Montmartre",
postal=46800
@ -54,16 +54,19 @@ class Utilisateurs(BaseDeDonnees):
"""
self.requete(requete, pseudo)
def verificationIdentifiants(self, pseudo: str, motDePasse: str) -> bool:
"""Renvoie vrai ou faux si les identifiants données sont bons."""
def verificationIdentifiants(self, pseudo: str, motDePasse: str):
"""
Retourne l'ID de l'utilisateur si trouvé dans la base de donnée ainsi
que son métier (`tuple`), sinon renvoie `(0,)`.
"""
requete = """
SELECT EXISTS (
SELECT 1 FROM utilisateurs
WHERE pseudo = ? AND passe = ?
)
SELECT id, metier FROM utilisateurs
WHERE pseudo = ? AND passe = ?
"""
# Vrai si le premier élément que renvoie la requête au dessus est 1
return True if self.affichageResultat(self.requete(requete, [pseudo, motDePasse]))[0][0] == 1 else False
reponseBaseDeDonnee = self.affichageResultat(self.requete(requete, [pseudo, motDePasse]))
if len(reponseBaseDeDonnee) == 0: # si les identifiants renseignés sont mauvais
return (0,)
return reponseBaseDeDonnee[0]
def listUtilisateurs(self) -> list:
"""Retourne la liste des nom d'utilisateurs."""
@ -72,3 +75,11 @@ class Utilisateurs(BaseDeDonnees):
"""
# i[0] parce que sinon ça renvoie des Tuple qui ressemble à ça : `(Utilisateur,)`
return [i[0] for i in self.affichageResultat(self.requete(requete))]
def recuperationUtilisateur(self, id: int) -> list:
"""Retourne les informations d'un utilisateur grâce à son ID."""
requete = """
SELECT pseudo, passe, metier, nom, prenom, naissance, adresse, postal FROM utilisateurs
WHERE id = ?
"""
return self.affichageResultat(self.requete(requete, [id]))