46 lines
1023 B
TypeScript
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";
|