feat: complete review workflow UI
This commit is contained in:
+89
-2
@@ -10,8 +10,50 @@ export interface ReviewFeedItem {
|
||||
createdTime: string;
|
||||
}
|
||||
|
||||
export const getReviewFeed = (limit: number = 30) => {
|
||||
return request.get("/review/feed", { limit });
|
||||
export interface ReviewTaskStats {
|
||||
taskNum: string;
|
||||
taskName: string;
|
||||
reportCount: number;
|
||||
fragmentCount: number;
|
||||
effectiveTime: number;
|
||||
sessionCount: number;
|
||||
todayEffectiveTime: number;
|
||||
weekEffectiveTime: number;
|
||||
avgEffectiveTime: number;
|
||||
avgEffectivenessRatio: number;
|
||||
}
|
||||
|
||||
export interface ReviewApplication {
|
||||
id: number;
|
||||
taskNum: string;
|
||||
title: string;
|
||||
description?: string;
|
||||
resourceUrl?: string;
|
||||
status: "TODO" | "DOING" | "DONE";
|
||||
createdTime?: string;
|
||||
lastModifiedTime?: string;
|
||||
}
|
||||
|
||||
export interface ReviewMindMap {
|
||||
id: number;
|
||||
taskNum: string;
|
||||
title: string;
|
||||
content: string;
|
||||
contentFormat: "TEXT" | "MERMAID" | "JSON";
|
||||
createdTime?: string;
|
||||
lastModifiedTime?: string;
|
||||
}
|
||||
|
||||
export const getReviewFeed = (limit: number = 30, mode: "recent" | "random" = "recent") => {
|
||||
return request.get("/review/feed", { limit, mode });
|
||||
};
|
||||
|
||||
export const getReviewTaskStats = () => {
|
||||
return request.get("/review/tasks");
|
||||
};
|
||||
|
||||
export const getReviewTaskStatsByTask = (taskNum: string) => {
|
||||
return request.get(`/review/tasks/${taskNum}`);
|
||||
};
|
||||
|
||||
export const getReportDetail = (id: number) => {
|
||||
@@ -25,3 +67,48 @@ export const getFragmentDetail = (id: number) => {
|
||||
export const getTaskReview = (taskNum: string) => {
|
||||
return request.get(`/review/task/${taskNum}`);
|
||||
};
|
||||
|
||||
export const getReviewApplications = (taskNum: string) => {
|
||||
return request.get(`/review/applications/${taskNum}`);
|
||||
};
|
||||
|
||||
export const createReviewApplication = (payload: {
|
||||
taskNum: string;
|
||||
title: string;
|
||||
description?: string;
|
||||
resourceUrl?: string;
|
||||
status?: ReviewApplication["status"];
|
||||
}) => {
|
||||
return request.post("/review/applications", payload);
|
||||
};
|
||||
|
||||
export const updateReviewApplication = (
|
||||
id: number,
|
||||
payload: {
|
||||
title: string;
|
||||
description?: string;
|
||||
resourceUrl?: string;
|
||||
status?: ReviewApplication["status"];
|
||||
},
|
||||
) => {
|
||||
return request.put(`/review/applications/${id}`, payload);
|
||||
};
|
||||
|
||||
export const deleteReviewApplication = (id: number) => {
|
||||
return request.del(`/review/applications/${id}`);
|
||||
};
|
||||
|
||||
export const getReviewMindMap = (taskNum: string) => {
|
||||
return request.get(`/review/mind-map/${taskNum}`);
|
||||
};
|
||||
|
||||
export const upsertReviewMindMap = (
|
||||
taskNum: string,
|
||||
payload: {
|
||||
title: string;
|
||||
content: string;
|
||||
contentFormat?: ReviewMindMap["contentFormat"];
|
||||
},
|
||||
) => {
|
||||
return request.put(`/review/mind-map/${taskNum}`, payload);
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user