1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Deserialize, Serialize)]
4pub struct PageData<T> {
5 pub count: usize,
6 pub page_size: usize,
7 pub page_num: usize,
8 pub page_count: usize,
9 pub rows: Vec<T>,
10}
11
12#[derive(Debug, Deserialize, Serialize, Clone)]
13pub struct PackageInfo {
14 pub id: String,
15
16 pub desc: String,
17 pub icon: String,
18 pub doc: String,
19 pub version: String,
20 pub schema: String,
21 pub run_as: String,
22 pub resources: String,
23 pub catalog: String,
24
25 pub create_time: i64,
26 pub update_time: i64,
27 pub timestamp: i64,
28}
29
30#[derive(Debug, Deserialize, Serialize, Clone)]
31pub struct ProcInfo {
32 pub id: String,
33 pub name: String,
34 pub mid: String,
35 pub state: String,
36 pub start_time: i64,
37 pub end_time: i64,
38 pub timestamp: i64,
39 pub tasks: Vec<TaskInfo>,
40}
41
42#[derive(Debug, Deserialize, Serialize, Clone)]
43pub struct TaskInfo {
44 pub id: String,
45 pub prev: Option<String>,
46 pub name: String,
47 pub tag: String,
48 pub key: String,
49 pub pid: String,
50 pub nid: String,
51 pub r#type: String,
52 pub state: String,
53 pub data: String,
54 pub start_time: i64,
55 pub end_time: i64,
56 pub timestamp: i64,
57}
58
59#[derive(Debug, Deserialize, Serialize, Clone)]
60pub struct ModelInfo {
61 pub id: String,
62 pub name: String,
63 pub ver: i32,
64 pub size: i32,
65 pub create_time: i64,
66 pub update_time: i64,
67 pub data: String,
68}
69
70#[derive(Debug, Deserialize, Serialize, Clone)]
71pub struct MessageInfo {
72 pub id: String,
73 pub tid: String,
74 pub name: String,
75 pub state: String,
76 pub r#type: String,
77 pub pid: String,
78 pub nid: String,
79 pub key: String,
80 pub inputs: String,
81 pub outputs: String,
82 pub tag: String,
83 pub create_time: i64,
84 pub update_time: i64,
85 pub retry_times: i32,
86 pub status: String,
87 pub timestamp: i64,
88 pub uses: String,
89}
90
91#[derive(Debug, Deserialize, Serialize, Clone)]
92pub struct EventInfo {
93 pub id: String,
94 pub name: String,
95 pub mid: String,
96 pub ver: i32,
97
98 pub uses: String,
99 pub params: String,
100
101 pub create_time: i64,
102 pub timestamp: i64,
103}
104
105impl From<PackageInfo> for serde_json::Value {
106 fn from(val: PackageInfo) -> Self {
107 serde_json::to_value(val).unwrap()
108 }
109}
110
111impl From<TaskInfo> for serde_json::Value {
112 fn from(val: TaskInfo) -> Self {
113 serde_json::to_value(val).unwrap()
114 }
115}
116
117impl From<ProcInfo> for serde_json::Value {
118 fn from(val: ProcInfo) -> Self {
119 serde_json::to_value(val).unwrap()
120 }
121}
122
123impl From<ModelInfo> for serde_json::Value {
124 fn from(val: ModelInfo) -> Self {
125 serde_json::to_value(val).unwrap()
126 }
127}
128
129impl From<MessageInfo> for serde_json::Value {
130 fn from(val: MessageInfo) -> Self {
131 serde_json::to_value(val).unwrap()
132 }
133}
134
135impl From<EventInfo> for serde_json::Value {
136 fn from(val: EventInfo) -> Self {
137 serde_json::to_value(val).unwrap()
138 }
139}