import { get, post, put, del } from "@/utils/request"; type RequestParams = Record; type RequestPayload = Record; // ── CRUD ───────────────────────────────────────────────── export function createTaskMetaUsingPost(data: RequestPayload) { return post("/api/task-meta", data); } export function getTaskMetaByIdUsingGet(id: string) { return get(`/api/task-meta/${id}`); } export function deleteTaskMetaByIdUsingDelete(id: string) { return del(`/api/task-meta/${id}`); } export function queryTaskMetasUsingGet(params?: RequestParams) { return get("/api/task-meta", params); } export function getChildrenUsingGet(id: string, params?: RequestParams) { return get(`/api/task-meta/${id}/children`, params); } export function getMyTasksUsingGet(params?: RequestParams) { return get("/api/task-meta/my-tasks", params); } // ── Split ──────────────────────────────────────────────── export function splitTaskUsingPost(id: string, data: RequestPayload) { return post(`/api/task-meta/${id}/split`, data); } // ── Assignment ─────────────────────────────────────────── export function assignTaskUsingPost(id: string, data: RequestPayload) { return post(`/api/task-meta/${id}/assign`, data); } export function reassignTaskUsingPost(id: string, data: RequestPayload) { return post(`/api/task-meta/${id}/reassign`, data); } export function revokeTaskUsingPost(id: string, remark?: string) { return post(`/api/task-meta/${id}/revoke`, null, { params: remark ? { remark } : undefined, }); } export function batchAssignUsingPost(data: RequestPayload) { return post("/api/task-meta/batch-assign", data); } export function getAssignmentLogsUsingGet(id: string) { return get(`/api/task-meta/${id}/assignment-logs`); } // ── Progress ───────────────────────────────────────────── export function getProgressUsingGet(id: string) { return get(`/api/task-meta/${id}/progress`); } export function updateProgressUsingPut(id: string, data: RequestPayload) { return put(`/api/task-meta/${id}/progress`, data); } // ── Users (for assignment selectors) ───────────────────── export function listUsersUsingGet() { return get("/api/auth/users"); }