utilisation de fonction (create, insert, update, delete)
continuous-integration/drone/push Build is passing
Details
continuous-integration/drone/push Build is passing
Details
parent
20d15ce6d6
commit
72649cf58a
Binary file not shown.
@ -1,65 +1,169 @@
|
||||
import sqlite3 from "sqlite3";
|
||||
import fs from "fs";
|
||||
import { sleep } from "bun";
|
||||
|
||||
const dbDirectory = "./db";
|
||||
const dbFilePath = `${dbDirectory}/database.db`;
|
||||
|
||||
// Créer le répertoire db s'il n'existe pas
|
||||
if (!fs.existsSync(dbDirectory)) {
|
||||
fs.mkdirSync(dbDirectory);
|
||||
function createDbDirectory() {
|
||||
if (!fs.existsSync(dbDirectory)) {
|
||||
fs.mkdirSync(dbDirectory);
|
||||
}
|
||||
}
|
||||
|
||||
// Ouverture de la base de données
|
||||
let db = new sqlite3.Database(
|
||||
dbFilePath,
|
||||
sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE,
|
||||
(err: Error | null) => {
|
||||
if (err) console.error(err.message);
|
||||
}
|
||||
);
|
||||
// Ouvrir la base de données
|
||||
function openDatabase() {
|
||||
return new sqlite3.Database(
|
||||
dbFilePath,
|
||||
sqlite3.OPEN_READWRITE | sqlite3.OPEN_CREATE,
|
||||
(err: Error | null) => {
|
||||
if (err) console.error(err.message);
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
// Création de la table registered_user dans la base de données
|
||||
// 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))`;
|
||||
|
||||
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))`;
|
||||
db.run(tableRegisteredUser, [], function (err) {
|
||||
if (err) {
|
||||
return console.error(err.message);
|
||||
}
|
||||
console.log("Table créée avec succès");
|
||||
});
|
||||
}
|
||||
|
||||
// Exécution de la requête pour créer la table
|
||||
db.run(tableRegisteredUser, [], function (err) {
|
||||
if (err) {
|
||||
return console.error(err.message);
|
||||
}
|
||||
console.log("Table créée avec succès");
|
||||
});
|
||||
// Insérer un utilisateur dans la table registered_user
|
||||
function insertUser(
|
||||
db: sqlite3.Database,
|
||||
login: string,
|
||||
password: string,
|
||||
permissions: number
|
||||
) {
|
||||
const insertUserQuery = `INSERT INTO registered_user (login, password, permissions) VALUES (?, ?, ?)`;
|
||||
|
||||
// Insertion d'un utilisateur dans la table registered_user
|
||||
db.run(insertUserQuery, [login, password, permissions], function (err) {
|
||||
if (err) {
|
||||
return console.error(err.message);
|
||||
}
|
||||
console.log(
|
||||
`Utilisateur inséré avec succès. ID utilisateur: ${this.lastID}`
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
const insertUser = `INSERT INTO registered_user (login, password, permissions) VALUES ('admin', 'admin', 1)`;
|
||||
// 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 = ?`;
|
||||
|
||||
// Exécution de la requête pour insérer un utilisateur
|
||||
db.run(insertUser, [], function (err) {
|
||||
if (err) {
|
||||
return console.error(err.message);
|
||||
}
|
||||
console.log(`Utilisateur inséré avec succès`);
|
||||
});
|
||||
db.run(updateUserLoginQuery, [newLogin, id], function (err) {
|
||||
if (err) {
|
||||
return console.error(err.message);
|
||||
}
|
||||
console.log(`Login de l'utilisateur mis à jour avec succès.`);
|
||||
});
|
||||
}
|
||||
|
||||
// SELECT de tous les utilisateurs de la table registered_user
|
||||
// Modifier le mot de passe d'un utilisateur dans la table registered_user
|
||||
function updateUserPassword(
|
||||
db: sqlite3.Database,
|
||||
id: number,
|
||||
newPassword: string
|
||||
) {
|
||||
const updateUserPasswordQuery = `UPDATE registered_user SET password = ? WHERE id_user = ?`;
|
||||
|
||||
const selectAllUsers = `SELECT * FROM registered_user`;
|
||||
db.run(updateUserPasswordQuery, [newPassword, id], function (err) {
|
||||
if (err) {
|
||||
return console.error(err.message);
|
||||
}
|
||||
console.log(`Mot de passe de l'utilisateur mis à jour avec succès.`);
|
||||
});
|
||||
}
|
||||
|
||||
// Exécution de la requête pour sélectionner tous les utilisateurs
|
||||
function updateUserPermissions(
|
||||
db: sqlite3.Database,
|
||||
id: number,
|
||||
newPermissions: number
|
||||
) {
|
||||
const updateUserPermissionsQuery = `UPDATE registered_user SET permissions = ? WHERE id_user = ?`;
|
||||
|
||||
db.all(selectAllUsers, [], (err, rows) => {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
rows.forEach((row) => {
|
||||
console.log(row);
|
||||
db.run(updateUserPermissionsQuery, [newPermissions, id], function (err) {
|
||||
if (err) {
|
||||
return console.error(err.message);
|
||||
}
|
||||
console.log(`Permissions de l'utilisateur mises à jour avec succès.`);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// Fermeture de la base de données
|
||||
db.close((err) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
}
|
||||
console.log("Close the database connection.");
|
||||
});
|
||||
// Supprimer un utilisateur de la table registered_user
|
||||
function deleteUser(db: sqlite3.Database, id: number) {
|
||||
const deleteUserQuery = `DELETE FROM registered_user WHERE id_user = ?`;
|
||||
|
||||
db.run(deleteUserQuery, [id], function (err) {
|
||||
if (err) {
|
||||
return console.error(err.message);
|
||||
}
|
||||
console.log(`Utilisateur supprimé avec succès.`);
|
||||
});
|
||||
}
|
||||
|
||||
// Supprimer tous les utilisateurs de la table registered_user
|
||||
function deleteAllUsers(db: sqlite3.Database) {
|
||||
const deleteAllUsersQuery = `DELETE FROM registered_user`;
|
||||
|
||||
db.run(deleteAllUsersQuery, [], function (err) {
|
||||
if (err) {
|
||||
return console.error(err.message);
|
||||
}
|
||||
console.log(`Tous les utilisateurs ont été supprimés avec succès.`);
|
||||
});
|
||||
}
|
||||
|
||||
// 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) => {
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
rows.forEach((row) => {
|
||||
console.log(row);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
// Fermer la base de données
|
||||
function closeDatabase(db: sqlite3.Database) {
|
||||
db.close((err) => {
|
||||
if (err) {
|
||||
console.error(err.message);
|
||||
}
|
||||
console.log("Fermeture de la connexion à la base de données.");
|
||||
});
|
||||
}
|
||||
|
||||
// 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);
|
||||
|
||||
selectAllUsers(db);
|
||||
|
||||
deleteUser(db, 1);
|
||||
|
||||
selectAllUsers(db);
|
||||
|
||||
closeDatabase(db);
|
||||
|
Loading…
Reference in new issue