From 905aefdbd24c3dbe077b814008c2d64d0d625a3f Mon Sep 17 00:00:00 2001 From: Sergii Mykyteiek Date: Tue, 5 Oct 2021 14:49:20 +0300 Subject: [PATCH] LT-4: Implement delete ttl item endpoint --- src/modules/ttl/ttl.controller.ts | 9 +++++++++ src/modules/ttl/ttl.repository.ts | 5 +++++ src/modules/ttl/ttl.router.ts | 5 +++++ src/modules/ttl/ttl.service.ts | 4 ++++ 4 files changed, 23 insertions(+) diff --git a/src/modules/ttl/ttl.controller.ts b/src/modules/ttl/ttl.controller.ts index 300ae4f..92e8092 100644 --- a/src/modules/ttl/ttl.controller.ts +++ b/src/modules/ttl/ttl.controller.ts @@ -34,4 +34,13 @@ export class TtlController { return res.status(200).json(result); } + + remove(req: Request, res: Response): Response { + const result = this.ttlService.remove(req.params.key); + if (!result) { + return res.status(404).json({ message: 'Not found key' }) + } + + return res.status(204).send(); + } } diff --git a/src/modules/ttl/ttl.repository.ts b/src/modules/ttl/ttl.repository.ts index 6463611..f92288b 100644 --- a/src/modules/ttl/ttl.repository.ts +++ b/src/modules/ttl/ttl.repository.ts @@ -23,6 +23,11 @@ export class TtlRepository { if (!value) { return value; } + return { key, value } } + + remove(key: string): number { + return this.store.del(key); + } } diff --git a/src/modules/ttl/ttl.router.ts b/src/modules/ttl/ttl.router.ts index 935a0ee..5c4b0a6 100644 --- a/src/modules/ttl/ttl.router.ts +++ b/src/modules/ttl/ttl.router.ts @@ -10,6 +10,11 @@ ttlRouter.get( ttlController.get.bind(ttlController), ); +ttlRouter.delete( + '/:key', + ttlController.remove.bind(ttlController), +); + ttlRouter.post( '/', ttlController.add.bind(ttlController), diff --git a/src/modules/ttl/ttl.service.ts b/src/modules/ttl/ttl.service.ts index 292fdc0..038a3f5 100644 --- a/src/modules/ttl/ttl.service.ts +++ b/src/modules/ttl/ttl.service.ts @@ -13,4 +13,8 @@ export class TtlService { get(key: string): TtlResponse { return this.ttlRepository.get(key); } + + remove(key: string): number { + return this.ttlRepository.remove(key); + } } \ No newline at end of file -- GitLab