This repository has been archived on 2022-03-31. You can view files and clone it, but cannot push or open issues or pull requests.
GesMag/users.py

55 lines
2 KiB
Python
Raw Normal View History

2021-11-18 20:40:34 +01:00
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))]