gitbundle_sdk/models/
step_model.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct StepModel {
17 #[serde(rename = "depends_on", deserialize_with = "Option::deserialize")]
18 pub depends_on: Option<serde_json::Value>,
19 #[serde(rename = "detached")]
20 pub detached: bool,
21 #[serde(rename = "errignore")]
22 pub errignore: bool,
23 #[serde(rename = "error")]
24 pub error: String,
25 #[serde(rename = "exit_code")]
26 pub exit_code: i64,
27 #[serde(rename = "id")]
28 pub id: i64,
29 #[serde(rename = "image")]
30 pub image: String,
31 #[serde(rename = "name")]
32 pub name: String,
33 #[serde(rename = "number")]
34 pub number: i64,
35 #[serde(
36 rename = "outputs",
37 default,
38 with = "::serde_with::rust::double_option",
39 skip_serializing_if = "Option::is_none"
40 )]
41 pub outputs: Option<Option<std::collections::HashMap<String, String>>>,
42 #[serde(rename = "parent_group_id")]
43 pub parent_group_id: i64,
44 #[serde(rename = "stage_id")]
45 pub stage_id: i64,
46 #[serde(
47 rename = "started",
48 default,
49 with = "::serde_with::rust::double_option",
50 skip_serializing_if = "Option::is_none"
51 )]
52 pub started: Option<Option<i64>>,
53 #[serde(rename = "status")]
54 pub status: models::CiStatus,
55 #[serde(
56 rename = "stopped",
57 default,
58 with = "::serde_with::rust::double_option",
59 skip_serializing_if = "Option::is_none"
60 )]
61 pub stopped: Option<Option<i64>>,
62 #[serde(rename = "version")]
63 pub version: i64,
64 #[serde(rename = "yaml_provider")]
65 pub yaml_provider: models::WorkflowProvider,
66 #[serde(rename = "yaml_resolved")]
67 pub yaml_resolved: String,
68}
69
70impl StepModel {
71 pub fn new(
72 depends_on: Option<serde_json::Value>,
73 detached: bool,
74 errignore: bool,
75 error: String,
76 exit_code: i64,
77 id: i64,
78 image: String,
79 name: String,
80 number: i64,
81 parent_group_id: i64,
82 stage_id: i64,
83 status: models::CiStatus,
84 version: i64,
85 yaml_provider: models::WorkflowProvider,
86 yaml_resolved: String,
87 ) -> StepModel {
88 StepModel {
89 depends_on,
90 detached,
91 errignore,
92 error,
93 exit_code,
94 id,
95 image,
96 name,
97 number,
98 outputs: None,
99 parent_group_id,
100 stage_id,
101 started: None,
102 status,
103 stopped: None,
104 version,
105 yaml_provider,
106 yaml_resolved,
107 }
108 }
109}