From b62e80e5383ded2658d802ab8f81508e6fbc46fe Mon Sep 17 00:00:00 2001 From: "hugo.pradier2" Date: Wed, 15 May 2024 10:57:17 +0200 Subject: [PATCH] fin de redaction des fonction pour la table user avant creation de l'api --- db/database.db | Bin 16384 -> 16384 bytes src/database.ts | 77 ++++++++++++++++++++++++++++++------------------ 2 files changed, 49 insertions(+), 28 deletions(-) diff --git a/db/database.db b/db/database.db index 2392cd668b8ac49fd72fdd484abb623f1d75b298..5c8fb793af91f8d6330ed289ae6700faff526fff 100644 GIT binary patch delta 120 zcmZo@U~Fh$oFL68JyFJ)QF>#-5`GRw{?`orule6^78E$dFE7B&${;DunV6EBnP&th z85kJ&MMXJEi&Kk)c_+V>7YFM2#=!rL|LtZ$g=_qBT+EV;5arw)%%Y4Sbv&HR;$Vg$ L?We}I=EG { + if (err) { + console.error(err.message); + } + console.log("Fermeture de la connexion à la base de données."); + }); +} + +/////////////////////////// Gestion des utilisateurs /////////////////////////// +// CREATE TABLE registered_user ( +// id_user SERIAL PRIMARY KEY, +// login VARCHAR(64) NOT NULL, +// password VARCHAR(72) NOT NULL, +// permissions INT NOT NULL, +// UNIQUE (login) +// ); + // Créer la table registered_user dans la base de données function createRegisteredUserTable(db: sqlite3.Database) { const tableRegisteredUser = `CREATE TABLE IF NOT EXISTS registered_user (id_user INTEGER PRIMARY KEY AUTOINCREMENT, login TEXT NOT NULL, password TEXT NOT NULL, permissions INTEGER NOT NULL, UNIQUE (login))`; @@ -57,7 +76,6 @@ function insertUser( // Modifier le login d'un utilisateur dans la table registered_user function updateUserLogin(db: sqlite3.Database, id: number, newLogin: string) { const updateUserLoginQuery = `UPDATE registered_user SET login = ? WHERE id_user = ?`; - db.run(updateUserLoginQuery, [newLogin, id], function (err) { if (err) { return console.error(err.message); @@ -124,8 +142,8 @@ function deleteAllUsers(db: sqlite3.Database) { // Sélectionner tous les utilisateurs de la table registered_user function selectAllUsers(db: sqlite3.Database) { const selectAllUsersQuery = `SELECT * FROM registered_user`; - db.all(selectAllUsersQuery, [], (err, rows) => { + console.log("Tous les utilisateurs enregistrés :"); if (err) { throw err; } @@ -135,35 +153,38 @@ function selectAllUsers(db: sqlite3.Database) { }); } -// Fermer la base de données -function closeDatabase(db: sqlite3.Database) { - db.close((err) => { +// Sélectionner un utilisateur par son login +function selectUserByLogin(db: sqlite3.Database, login: string) { + const selectUserByLoginQuery = `SELECT * FROM registered_user WHERE login = ?`; + + db.get(selectUserByLoginQuery, [login], (err, row) => { + console.log("Utilisateur avec le login, " + login + " :"); if (err) { - console.error(err.message); + return console.error(err.message); } - console.log("Fermeture de la connexion à la base de données."); + console.log(row); }); } -// Utilisation des fonctions -createDbDirectory(); -const db = openDatabase(); - -createRegisteredUserTable(db); -deleteAllUsers(db); - -insertUser(db, "user1", "password1", 1); - -selectAllUsers(db); - -updateUserLogin(db, 1, "newUser1"); -updateUserPassword(db, 1, "newPassword1"); -updateUserPermissions(db, 1, 2); +// Sélectionner un utilisateur par son ID +function selectUserById(db: sqlite3.Database, id: number) { + const selectUserByIdQuery = `SELECT * FROM registered_user WHERE id_user = ?`; -selectAllUsers(db); - -deleteUser(db, 1); - -selectAllUsers(db); + db.get(selectUserByIdQuery, [id], (err, row) => { + console.log("Utilisateur avec l'ID, " + id + " :"); + if (err) { + return console.error(err.message); + } + console.log(row); + }); +} -closeDatabase(db); +/////////////////////////// Exécution des requêtes /////////////////////////// +const db = openDatabase(); +db.serialize(() => { + createDbDirectory(); + createRegisteredUserTable(db); + insertUser(db, "user1", "password1", 1); + selectAllUsers(db); + closeDatabase(db); +});