from db import BaseDeDonnees class Utilisateurs(BaseDeDonnees): """Gère une table "utilisateurs" pour une base de donnée donné.""" def __init__(self): super().__init__(r"utilisateurs.sqlite3") def creationTable(self) -> None: """Créer la table qui stocker les utilisateurs.""" requete = """ CREATE TABLE IF NOT EXISTS utilisateurs ( nom TEXT, passe TEXT, metier TEXT ); """ self.requete(requete) def ajoutUtilisateurs(self, nom: str, motDePasse: str, metier: str) -> list: """Ajoute un utilisateur et retourne l'ID de ce dernier.""" requete = """ INSERT INTO utilisateurs ( nom, passe, metier ) VALUES ( ?, ?, ? ); """ self.requete(requete, [nom, motDePasse, metier]) return self.affichageResultat(self.requete("SELECT last_insert_rowid();")) def suppressionUtilisateurs(self, nom: int) -> None: """Supprime un utilisateur.""" requete = """ DELETE FROM utilisateurs WHERE nom = ? """ self.requete(requete, nom) def verificationIdentifiants(self, nom: str, motDePasse: str) -> bool: """Renvoie vrai ou faux si les identifiants données sont bons.""" requete = """ SELECT EXISTS ( SELECT 1 FROM utilisateurs WHERE nom = ? AND passe = ? ) """ return True if self.affichageResultat(self.requete(requete, [nom, motDePasse]))[0][0] == 1 else False def listUtilisateurs(self) -> list: """Retourne la liste des utilisateurs.""" requete = """ SELECT nom FROM utilisateurs """ return [i[0] for i in self.affichageResultat(self.requete(requete))]