diff --git a/src/database.ts b/src/database.ts index 89249ed..7458420 100644 --- a/src/database.ts +++ b/src/database.ts @@ -149,7 +149,7 @@ export async function verifyUser( db: sqlite3.Database, login: string, ): Promise { - const verifyUserQuery = `SELECT login, password FROM registered_user WHERE login = ?`; + const verifyUserQuery = `SELECT id_user, login, password FROM registered_user WHERE login = ?`; const res = await getDB(db, verifyUserQuery, [login]); @@ -161,6 +161,7 @@ export async function verifyUser( } export type User = { + id_user: number; login: string; password: string; }; diff --git a/src/runner.ts b/src/runner.ts index 1a8567b..163e9d2 100644 --- a/src/runner.ts +++ b/src/runner.ts @@ -35,7 +35,7 @@ export function allocateBuffer( } export function getRunner(language: string): (typeof RUNNERS)[number] | null { - language = aliases[language] || language; + language = aliases[language] || language.toLowerCase(); if (ALLOWED_LANGUAGES.has(language)) { return language as (typeof RUNNERS)[number]; } diff --git a/src/server.ts b/src/server.ts index be97bb0..8a7db81 100644 --- a/src/server.ts +++ b/src/server.ts @@ -59,7 +59,7 @@ fastify.register(fastifySession, { declare module "fastify" { interface Session { - userKey: string | null; + userKey: number; } } @@ -237,20 +237,16 @@ fastify.post( if (user === null || !(await bcrypt.compare(password, user.password))) { reply.send({ success: false }); } else { - request.session.userKey = generateId(); + request.session.userKey = user.id_user; reply.send({ success: true }); } - - bcrypt.compare(password, user!.password) - .then(res => reply.send({ sucess: res })) - .catch(err => reply.send({ sucess: false })); }, ); /* Route pour se déconnecter */ fastify.get("/users/logout", async (request, reply) => { console.log(request.session.userKey); - request.session.destroy(); + await request.session.destroy(); reply.send({ success: true }); }); @@ -449,8 +445,6 @@ fastify.post( { schema: { body: Type.Object({ - id_user: Type.Number(), - link: Type.String(), language: Type.String(), title: Type.String(), code: Type.String(), @@ -458,9 +452,11 @@ fastify.post( }, }, async (request, reply) => { - const { id_user, link, language, title, code } = request.body; - await db.insertWork(database, link, id_user, language, title, code); - reply.send({ success: true }); + const link = generateId(); + const user = request.session.userKey; + const { language, title, code } = request.body; + await db.insertWork(database, link, user, language, title, code); + reply.send({ success: true, link }); } ); @@ -472,7 +468,7 @@ fastify.get("/works", async (request, reply) => { /* Route pour supprimer tous les works */ fastify.delete("/works", async (request, reply) => { - db.deleteAllWorks(database); + await db.deleteAllWorks(database); reply.send({ success: true }); });