astro_run_shared/types/
mod.rs1mod envs;
2mod workflow_event;
3mod workflow_state;
4mod workflow_state_event;
5
6pub use envs::*;
7pub use workflow_event::*;
8pub use workflow_state::*;
9pub use workflow_state_event::*;
10
11use serde::{Deserialize, Serialize};
12
13pub type Id = String;
14
15#[derive(Serialize, Deserialize, Debug, Clone, PartialEq)]
28#[serde(rename_all = "snake_case")]
29pub enum WorkflowLogType {
30 Error,
31 Log,
32}
33
34#[derive(Serialize, Deserialize, Debug, Clone)]
35pub struct WorkflowLog {
36 pub workflow_id: Id,
37 pub job_key: String,
38 pub step_number: usize,
39 pub log_type: WorkflowLogType,
40 pub message: String,
41 pub time: chrono::DateTime<chrono::Utc>,
42}
43
44impl Default for WorkflowLog {
45 fn default() -> Self {
46 WorkflowLog {
47 workflow_id: "".to_string(),
48 job_key: "".to_string(),
49 step_number: 0,
50 log_type: WorkflowLogType::Log,
51 message: "".to_string(),
52 time: chrono::Utc::now(),
53 }
54 }
55}