verif si login pas deja present avant ajout user

pull/6/head
Hugo PRADIER 11 months ago committed by clfreville2
parent c0ac68a516
commit 5c03632ff4

@ -4,6 +4,11 @@ import sqlite3 from "sqlite3";
const dbDirectory = "./src/db";
const dbFilePath = `${dbDirectory}/database.db`;
export type error = {
errno: number;
code: string;
};
/* Fonction pour exécuter une requête sur la base de données */
/* Fonction pour exécuter une requête de modification de la base de données (INSERT, UPDATE, DELETE) */
@ -112,15 +117,25 @@ export function createRegisteredUserTable(db: sqlite3.Database): Promise<void> {
}
/* Insérer un utilisateur dans la table registered_user */
export function insertUser(
export async function insertUser(
db: sqlite3.Database,
login: string,
password: string,
permissions: number,
) {
): Promise<boolean> {
const insertUserQuery = `INSERT INTO registered_user (login, password, permissions) VALUES (?, ?, ?)`;
return runDB(db, insertUserQuery, [login, password, permissions]);
try {
await runDB(db, insertUserQuery, [login, password, permissions]);
return true;
} catch (e) {
const error = e as error;
if (error.code === "SQLITE_CONSTRAINT") {
return false;
} else {
throw e;
}
}
}
/* Modifier le login d'un utilisateur dans la table registered_user */

@ -41,7 +41,6 @@ await fastify.register(cors, {
origin: process.env.ALLOW_ORIGIN || "*",
});
fastify.register(websocket);
fastify.register(async function(fastify: Fastify) {
fastify.get(
"/live/:roomId",
@ -180,9 +179,12 @@ fastify.post(
},
async (request, reply) => {
const { login, password, permissions } = request.body;
db.insertUser(database, login, password, permissions);
if (!(await db.insertUser(database, login, password, permissions))) {
reply.send({ success: false });
} else {
reply.send({ success: true });
},
}
}
);
/* Route pour mettre à jour le login d'un utilisateur */

Loading…
Cancel
Save