task-managment / src / server / tool / domain / repositories.ts
repositories.ts
Raw
import { UserId } from "@/server/user/domain/models";
import { DeleteTool, Tool, UserTool, UserToolQuery } from "./models";
import { DeleteUserToolDto } from "../application/dto";

export interface ToolRepository {
    getAll(): Promise<Tool[]>;
    create(data: Tool, userId: UserId): Promise<Tool>;
    delete(data: DeleteTool, userId: UserId): Promise<Tool[]>;
    getUserTools(userId: UserId): Promise<UserToolQuery[]>;
    assignUserTools(data: UserTool[]): Promise<UserTool[]>;
    update(data: Partial<Tool[]>, userId: UserId): Promise<Partial<Tool[]>>;
    updateAssignUserTools(data: UserTool[]): Promise<UserTool[]>
    deleteUserTools(data: DeleteUserToolDto[]):Promise<UserTool[]>
  }