From bbb33e81dbb17bee7fd6bb49457005fe00e83d61 Mon Sep 17 00:00:00 2001 From: Arthur Danjou Date: Thu, 8 Apr 2021 14:03:47 +0200 Subject: [PATCH] Add unlike method --- app/Controllers/Http/PostsController.ts | 18 +++++++++++++++--- start/routes.ts | 1 + 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/app/Controllers/Http/PostsController.ts b/app/Controllers/Http/PostsController.ts index 7ec598c..7642a51 100644 --- a/app/Controllers/Http/PostsController.ts +++ b/app/Controllers/Http/PostsController.ts @@ -26,10 +26,8 @@ export default class PostsController { }) } - const getLikes = post.likes + 1 - await post.merge({ - likes: getLikes + likes: post.likes++ }).save() return response.status(200).send({ status: 200, @@ -37,4 +35,18 @@ export default class PostsController { }) } + public async unlike ({params, response}: HttpContextContract) { + let post = await Post.findBy('slug', params.slug) + + if (post) { + await post.merge({ + likes: post.likes-- + }).save() + return response.status(200).send({ + status: 200, + post + }) + } + } + } diff --git a/start/routes.ts b/start/routes.ts index 1414018..b9a5f6b 100644 --- a/start/routes.ts +++ b/start/routes.ts @@ -76,4 +76,5 @@ Route.group(() => { Route.group(() => { Route.get('/:slug', 'PostsController.getLikes') Route.post('/:slug/like', 'PostsController.like') + Route.post('/:slug/unlike', 'PostsController.unlike') }).prefix('posts')