import { UserId } from "@/server/user/domain/models"; import { FilterTasks, MonthlyActivity, ProjectTaskQueryResult, Task, TaskId, TasksByDate, WeeklyActivity } from "./models"; import { AreaId, ProjectId } from "@/server/project/domain/models"; export interface TaskRepository { getProjectTasks(filter: FilterTasks): Promise; getRecentModified(): Promise; getAll(input: FilterTasks,userId?:UserId): Promise; create(input: Task,userId:UserId):Promise update(input:Partial,userId:UserId):Promise> delete(taskId: TaskId,userId:UserId):Promise isTaskAreaAssigned(areaId:AreaId):Promise getUserWeeklyActivity(userId: UserId):Promise userMonthActivity(userId:UserId):Promise }