task-managment / src / server / task / application / task-service-definition.ts
task-service-definition.ts
Raw
import { AreaId, ProjectId } from "@/server/project/domain/models";
import { FilterTasks, MonthlyActivity, ProjectTaskQueryResult, Task, TaskId, TasksByDate, WeeklyActivity } from "@/server/task/domain/models";
import { UserId } from "@/server/user/domain/models";

export interface TaskService {
  getProjectTasks(filter: FilterTasks): Promise<ProjectTaskQueryResult[]>;
  getRecentModifiedTasks(): Promise<Task[]>;
  getAllTasks(filter: FilterTasks, userId?: UserId): Promise<TasksByDate[]>;
  createTask(input: Task, userId: UserId): Promise<Task>;
  updateTask(input: Partial<Task>, userId: UserId): Promise<Partial<Task>>;
  deleteTask(taskId: TaskId, userId: UserId): Promise<Task>;
  isTaskAreaAssigned(areaId:AreaId):Promise<boolean>
  getUserWeeklyActivity(userId: UserId):Promise<WeeklyActivity[]>
  getUserMonthActivity(userId:UserId):Promise<MonthlyActivity>
  getUserCompleatedTasks(filter: FilterTasks): Promise<any[]>
}