54 lines
2 KiB
Python
54 lines
2 KiB
Python
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))]
|