From d9ffd7331361f19541c315ab4f4aff6fa553320d Mon Sep 17 00:00:00 2001 From: "matis.mazingue" Date: Mon, 17 Jun 2024 08:43:04 +0200 Subject: [PATCH] get last work's link by user id --- src/database.ts | 10 ++++++++++ src/server.ts | 23 +++++++++++++++++++++-- 2 files changed, 31 insertions(+), 2 deletions(-) diff --git a/src/database.ts b/src/database.ts index dd1f6fb..4271e0e 100644 --- a/src/database.ts +++ b/src/database.ts @@ -359,6 +359,16 @@ export function selectLastWorkByUserId(db: sqlite3.Database, user_id: number) { return getDB(db, selectLastWorkByUserIdQuery, [user_id]); } +/* Sélectionner le link du dernier work par l'id de l'utilisateur */ +export function selectLinkLastWorkByUserId(db: sqlite3.Database, user_id: number) { + const selectLinkLastWorkByUserIdQuery = `SELECT link FROM work + WHERE user_id = ? + ORDER BY date DESC + LIMIT 1`; + + return getDB(db, selectLinkLastWorkByUserIdQuery, [user_id]); +} + /* Supprimer tous les works de la table work */ export function deleteAllWorks(db: sqlite3.Database) { const deleteAllWorksQuery = `DELETE FROM work`; diff --git a/src/server.ts b/src/server.ts index a685276..54b1c97 100644 --- a/src/server.ts +++ b/src/server.ts @@ -542,9 +542,9 @@ fastify.get( }, ); -/* Route pour récupérer un work par l'id de l'utilisateur */ +/* Route pour récupérer le dernier work par l'id de l'utilisateur */ fastify.get( - "/works/user/:user_id", + "/works/last-work/:user_id", { schema: { params: Type.Object({ @@ -561,6 +561,25 @@ fastify.get( }, ); +/* Route pour récupérer le dernier work par l'id de l'utilisateur */ +fastify.get( + "/works/last-link/:user_id", + { + schema: { + params: Type.Object({ + user_id: Type.Number({ + minimum: 0, + }), + }), + }, + }, + async (request, reply) => { + const { user_id } = request.params; + const linkWork = await db.selectLinkLastWorkByUserId(database, user_id); + reply.send(linkWork); + }, +); + /* Update the work title by its ID */ fastify.put( "/works/:id/title",