diff --git a/src/database.ts b/src/database.ts index a7af7dc..4a0f351 100644 --- a/src/database.ts +++ b/src/database.ts @@ -260,17 +260,15 @@ export function selectAllWorks(db: sqlite3.Database): Promise { /* Sélectionner tous les works de la table work */ export function selectWorksByUserId(db: sqlite3.Database, user_id: number): Promise { - const selectWorksByUserIdQuery = `SELECT * FROM work - WHERE user_id = ?`; + const selectWorksByUserIdQuery = `SELECT * FROM work WHERE user_id = ?`; return allDB(db, selectWorksByUserIdQuery, [user_id]); } /* Sélectionner un work par son ID */ -export function selectWorkById(db: sqlite3.Database, id: number) { - const selectWorkByIdQuery = `SELECT * FROM work WHERE id_work = ?`; - - return getDB(db, selectWorkByIdQuery, [id]); +export function selectWorkByLink(db: sqlite3.Database, link: string) { + const selectWorkByLinkQuery = `SELECT * FROM work WHERE link = ?`; + return getDB(db, selectWorkByLinkQuery, [link]); } /* Sélectionner le dernier work par l'id de l'utilisateur */ @@ -312,11 +310,12 @@ export function updateWorkTitle( export function updateWorkContent( db: sqlite3.Database, id: number, - newContent: string + newContent: string, + language: string, ) { - const updateWorkContentQuery = `UPDATE work SET content = ? WHERE id_work = ?`; + const updateWorkContentQuery = `UPDATE work SET content = ?, language = ? WHERE id_work = ?`; - return runDB(db, updateWorkContentQuery, [newContent, id]); + return runDB(db, updateWorkContentQuery, [newContent, language, id]); } diff --git a/src/server.ts b/src/server.ts index 813ff5a..d93d053 100644 --- a/src/server.ts +++ b/src/server.ts @@ -409,21 +409,19 @@ fastify.delete( }, ); -/* Route pour récupérer un work par son ID */ +/* Route pour récupérer un work par son Link */ fastify.get( - "/works/:id", + "/works/:link", { schema: { params: Type.Object({ - id: Type.Number({ - minimum: 0, - }), + link: Type.String(), }), }, }, async (request, reply) => { - const { id } = request.params; - const work = await db.selectWorkById(database, id); + const {link} = request.params; + const work = await db.selectWorkByLink(database, link); reply.send(work); }, ); @@ -482,13 +480,14 @@ fastify.put( }), body: Type.Object({ newContent: Type.String(), + language: Type.String(), }), }, }, async (request, reply) => { const { id } = request.params; - const { newContent } = request.body; - await db.updateWorkContent(database, id, newContent); + const { newContent, language } = request.body; + await db.updateWorkContent(database, id, newContent, language); reply.send({ success: true }); } );