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 dbDirectory = "./src/db";
const dbFilePath = `${dbDirectory}/database.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 sur la base de données */
/* Fonction pour exécuter une requête de modification de la base de données (INSERT, UPDATE, DELETE) */ /* 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 */ /* Insérer un utilisateur dans la table registered_user */
export function insertUser( export async function insertUser(
db: sqlite3.Database, db: sqlite3.Database,
login: string, login: string,
password: string, password: string,
permissions: number, permissions: number,
) { ): Promise<boolean> {
const insertUserQuery = `INSERT INTO registered_user (login, password, permissions) VALUES (?, ?, ?)`; 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 */ /* Modifier le login d'un utilisateur dans la table registered_user */

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

Loading…
Cancel
Save