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(rename = "outputs", skip_serializing_if = "Option::is_none")]
36 pub outputs: Option<std::collections::HashMap<String, serde_json::Value>>,
37 #[serde(rename = "parent_group_id")]
38 pub parent_group_id: i64,
39 #[serde(rename = "stage_id")]
40 pub stage_id: i64,
41 #[serde(
42 rename = "started",
43 default,
44 with = "::serde_with::rust::double_option",
45 skip_serializing_if = "Option::is_none"
46 )]
47 pub started: Option<Option<i64>>,
48 #[serde(rename = "status")]
49 pub status: models::CiStatus,
50 #[serde(
51 rename = "stopped",
52 default,
53 with = "::serde_with::rust::double_option",
54 skip_serializing_if = "Option::is_none"
55 )]
56 pub stopped: Option<Option<i64>>,
57 #[serde(rename = "version")]
58 pub version: i64,
59 #[serde(rename = "yaml_provider")]
60 pub yaml_provider: models::WorkflowProvider,
61 #[serde(rename = "yaml_resolved")]
62 pub yaml_resolved: String,
63}
64
65impl StepModel {
66 pub fn new(
67 depends_on: Option<serde_json::Value>,
68 detached: bool,
69 errignore: bool,
70 error: String,
71 exit_code: i64,
72 id: i64,
73 image: String,
74 name: String,
75 number: i64,
76 parent_group_id: i64,
77 stage_id: i64,
78 status: models::CiStatus,
79 version: i64,
80 yaml_provider: models::WorkflowProvider,
81 yaml_resolved: String,
82 ) -> StepModel {
83 StepModel {
84 depends_on,
85 detached,
86 errignore,
87 error,
88 exit_code,
89 id,
90 image,
91 name,
92 number,
93 outputs: None,
94 parent_group_id,
95 stage_id,
96 started: None,
97 status,
98 stopped: None,
99 version,
100 yaml_provider,
101 yaml_resolved,
102 }
103 }
104}