Files
Frontend/src/libs/api/services/recommendationTask.ts
T
2026-04-02 23:44:24 +03:30

46 lines
1023 B
TypeScript

export type RecommendationTaskStatus =
| "pending"
| "processing"
| "completed"
| "failed";
export interface RecommendationTaskInitResponse {
task_id: string;
status: RecommendationTaskStatus;
farm_uuid?: string;
}
export interface RecommendationTaskProgress {
message?: string;
}
export interface RecommendationTaskStatusResponse<T> {
task_id: string;
status: RecommendationTaskStatus;
farm_uuid?: string;
progress?: RecommendationTaskProgress;
result?: T;
error?: string;
}
export const normalizeRecommendationTaskStatus = (
status?: string,
): RecommendationTaskStatus => {
switch (status?.toLowerCase()) {
case "started":
case "processing":
return "processing";
case "success":
case "completed":
return "completed";
case "failure":
case "failed":
return "failed";
default:
return "pending";
}
};
export const isRecommendationTaskRunning = (status: RecommendationTaskStatus) =>
status === "pending" || status === "processing";