From 02bbdce134b795293d93b992f0b5bf686d9adbdc Mon Sep 17 00:00:00 2001 From: Rafael de Jesus Guzman Torres Date: Sat, 6 Jun 2026 22:37:31 -0600 Subject: [PATCH] feat: add repository interface in list domain --- Todo | 3 --- .../modules/list/core/repository/ListRepository.ts | 9 +++++++++ .../src/modules/task/core/interface/TaskCriteria.ts | 5 ++--- .../src/modules/task/core/interface/TaskFromList.ts | 11 ----------- .../modules/task/core/repository/TaskRepository.ts | 2 -- 5 files changed, 11 insertions(+), 19 deletions(-) create mode 100644 backend/src/modules/list/core/repository/ListRepository.ts delete mode 100644 backend/src/modules/task/core/interface/TaskFromList.ts diff --git a/Todo b/Todo index a1ca78f5..2d37e2ce 100644 --- a/Todo +++ b/Todo @@ -1,4 +1 @@ -Create percentageCompleted object for validate percentages between 0 and 100 in checklist -Test list adding and removing tasks -Tesk list mutable methods Add list repository \ No newline at end of file diff --git a/backend/src/modules/list/core/repository/ListRepository.ts b/backend/src/modules/list/core/repository/ListRepository.ts new file mode 100644 index 00000000..0d1f74eb --- /dev/null +++ b/backend/src/modules/list/core/repository/ListRepository.ts @@ -0,0 +1,9 @@ +import type List from "../model/List"; + +export default interface ListRepository { + create(list: List): Promise; + update(list: List): Promise; + getById(listId: string): Promise; + getMany(listIds: string[]): Promise; + getByProjectId(projectId: string, page: number, limit: number): Promise; +}; diff --git a/backend/src/modules/task/core/interface/TaskCriteria.ts b/backend/src/modules/task/core/interface/TaskCriteria.ts index 4e550764..d2599dbe 100644 --- a/backend/src/modules/task/core/interface/TaskCriteria.ts +++ b/backend/src/modules/task/core/interface/TaskCriteria.ts @@ -5,14 +5,13 @@ export default interface TaskCriteria { limit: number; page: number; archived:"ALL" | "ACTIVE" | "ARCHIVED"; - withCategory: boolean; - wihtAssigned: boolean; idProject: IdEntity; nameLike?: string; + lists?: string[]; categories?: string[]; status?: AllowedTaskState; isOverDue?: boolean; isStarted?: boolean; - assingned?: string[]; + assigned?: string[]; } diff --git a/backend/src/modules/task/core/interface/TaskFromList.ts b/backend/src/modules/task/core/interface/TaskFromList.ts deleted file mode 100644 index e7d9c932..00000000 --- a/backend/src/modules/task/core/interface/TaskFromList.ts +++ /dev/null @@ -1,11 +0,0 @@ -import type IdEntity from "../../../shared/core/objects/IdEntity"; - -export default interface TaskFromList{ - limit: number; - page: number; - archived: "ALL" | "ACTIVE" | "ARCHIVED"; - withCategory: boolean; - wihtAssigned: boolean; - idProject: IdEntity; - idList: IdEntity; -} diff --git a/backend/src/modules/task/core/repository/TaskRepository.ts b/backend/src/modules/task/core/repository/TaskRepository.ts index 931aa33a..8a2c1252 100644 --- a/backend/src/modules/task/core/repository/TaskRepository.ts +++ b/backend/src/modules/task/core/repository/TaskRepository.ts @@ -1,7 +1,6 @@ import type DomainEvent from '../../../shared/core/events/DomainEvent'; import type None from '../../../shared/core/objects/None'; import type TaskCriteria from '../interface/TaskCriteria'; -import type TaskFromList from '../interface/TaskFromList'; import type Task from '../model/Task'; import type TaskId from '../objects/TaskId'; @@ -15,5 +14,4 @@ export default interface TaskRepository { getCategoriesFromTaskById(taskId: TaskId, limit: number, page: number): Promise; getAssignedFromTaskById(taskId: TaskId, limit: number, page: number): Promise; getTaskLog(taskId: TaskId, limit: number, page: number): Promise; - getFromList(criteria: TaskFromList): Promise }