acts_next/store/data/
task.rs1use crate::{
2 TaskState,
3 store::{DbCollectionIden, StoreIden},
4};
5use serde::{Deserialize, Serialize};
6
7#[derive(Debug, Deserialize, Serialize, Clone)]
8pub struct Task {
9 pub id: String,
10 pub pid: String,
11 pub tid: String,
12 pub node_data: String,
13 pub kind: String,
14 pub prev: Option<String>,
15
16 pub name: String,
17 pub state: String,
18 pub data: String,
19 pub err: Option<String>,
20 pub start_time: i64,
21 pub end_time: i64,
22 pub hooks: String,
23 pub timestamp: i64,
24}
25
26impl DbCollectionIden for Task {
27 fn iden() -> StoreIden {
28 StoreIden::Tasks
29 }
30}
31
32impl Task {
33 pub fn set_state(&mut self, state: TaskState) {
34 self.state = state.into();
35 }
36 pub fn set_start_time(&mut self, time: i64) {
37 self.start_time = time;
38 }
39 pub fn set_end_time(&mut self, time: i64) {
40 self.end_time = time;
41 }
42}