1use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize, Deserialize)]
7#[serde(rename_all = "lowercase")]
8pub enum JobStatus {
9 Pending,
10 Running,
11 Done,
12 Failed,
13}
14
15#[derive(Debug, Clone, Serialize, Deserialize)]
17pub struct Job {
18 pub job_id: String,
19 pub status: JobStatus,
20 pub created_at: String,
21 pub updated_at: String,
22 #[serde(skip_serializing_if = "Option::is_none")]
23 pub result_summary: Option<serde_json::Value>,
24}
25
26#[derive(Debug, Clone, Serialize, Deserialize)]
28pub struct AddJobSubmitted {
29 #[serde(default = "default_code")]
30 pub code: i32,
31 pub message: String,
32 pub data: AddJobSubmittedData,
33}
34
35fn default_code() -> i32 {
36 200
37}
38
39#[derive(Debug, Clone, Serialize, Deserialize)]
40pub struct AddJobSubmittedData {
41 pub task_id: String,
42}
43
44#[derive(Debug, Clone, Serialize, Deserialize)]
46pub struct SchedulerStatusResponse {
47 #[serde(default = "default_code")]
48 pub code: i32,
49 pub message: String,
50 #[serde(skip_serializing_if = "Option::is_none")]
51 pub data: Option<Job>,
52}