From ac9998f1c9eda7fe7216d47ae33db5be3dc14464 Mon Sep 17 00:00:00 2001 From: Daiane Bolzan Date: Thu, 9 May 2024 16:06:26 -0300 Subject: [PATCH] feat: add check to verify if task belong to child --- src/modules/task/task.controller.ts | 1 + src/modules/task/task.entity.d.ts | 1 + src/modules/task/task.repository.ts | 3 ++- src/modules/task/task.service.ts | 10 +++++++--- 4 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/modules/task/task.controller.ts b/src/modules/task/task.controller.ts index aff4e13..572c4d7 100644 --- a/src/modules/task/task.controller.ts +++ b/src/modules/task/task.controller.ts @@ -127,6 +127,7 @@ export class TaskController { await this.service.deleteTask({ id: id, parentId: sessionInfo.pid, + childrenId: sessionInfo.cid, }); return { diff --git a/src/modules/task/task.entity.d.ts b/src/modules/task/task.entity.d.ts index c01a883..af1239a 100644 --- a/src/modules/task/task.entity.d.ts +++ b/src/modules/task/task.entity.d.ts @@ -45,4 +45,5 @@ export type iTaskRepositoryUpadateInput = { export type iTaskRepositoryDeleteTaskInput = { id: string; parentId: string; + childrenId: string; }; diff --git a/src/modules/task/task.repository.ts b/src/modules/task/task.repository.ts index a8f2e88..425d7df 100644 --- a/src/modules/task/task.repository.ts +++ b/src/modules/task/task.repository.ts @@ -102,10 +102,11 @@ export class TaskRepository { .catch((error) => handleErrors(error)); } - async findTaskById(id: number) { + async findTaskByIdAndChildren(id: number, childrenId: number) { return await this.prisma.task.findFirst({ where: { id, + childrenId, }, }); } diff --git a/src/modules/task/task.service.ts b/src/modules/task/task.service.ts index 6482457..b381e35 100644 --- a/src/modules/task/task.service.ts +++ b/src/modules/task/task.service.ts @@ -44,9 +44,13 @@ export class TaskService { } async deleteTask(input: iTaskRepositoryDeleteTaskInput) { - const idNumber = parseInt(input.id); + const taskId = parseInt(input.id); + const childrenId = parseInt(input.childrenId); - const existingTask = await this.repository.findTaskById(idNumber); + const existingTask = await this.repository.findTaskByIdAndChildren( + taskId, + childrenId, + ); const parent = await this.repository.validateParent(input.parentId); if (!existingTask) { @@ -60,7 +64,7 @@ export class TaskService { ); } - await this.repository.deleteTask(idNumber); + await this.repository.deleteTask(taskId); } private processTasks(