Skip to main content

gitbundle_sdk/models/
workflow_model.rs

1/*
2 * GitBundle API
3 *
4 * GitBundle API documentation.
5 *
6 * The version of the OpenAPI document: 3.4.1
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct WorkflowModel {
17    #[serde(rename = "action")]
18    pub action: String,
19    #[serde(rename = "action_id")]
20    pub action_id: i64,
21    #[serde(
22        rename = "after_sha",
23        default,
24        with = "::serde_with::rust::double_option",
25        skip_serializing_if = "Option::is_none"
26    )]
27    pub after_sha: Option<Option<String>>,
28    #[serde(rename = "author_email")]
29    pub author_email: String,
30    #[serde(
31        rename = "author_id",
32        default,
33        with = "::serde_with::rust::double_option",
34        skip_serializing_if = "Option::is_none"
35    )]
36    pub author_id: Option<Option<i64>>,
37    #[serde(rename = "author_name")]
38    pub author_name: String,
39    #[serde(rename = "before_sha")]
40    pub before_sha: String,
41    #[serde(rename = "context", deserialize_with = "Option::deserialize")]
42    pub context: Option<serde_json::Value>,
43    #[serde(rename = "created")]
44    pub created: i64,
45    #[serde(rename = "created_by")]
46    pub created_by: i64,
47    #[serde(rename = "cron")]
48    pub cron: String,
49    #[serde(rename = "debug")]
50    pub debug: bool,
51    #[serde(rename = "deploy")]
52    pub deploy: String,
53    #[serde(rename = "deploy_id")]
54    pub deploy_id: i64,
55    #[serde(rename = "error")]
56    pub error: String,
57    #[serde(rename = "event")]
58    pub event: models::TriggerEvent,
59    #[serde(rename = "finished")]
60    pub finished: i64,
61    #[serde(rename = "id")]
62    pub id: i64,
63    #[serde(
64        rename = "inputs",
65        default,
66        with = "::serde_with::rust::double_option",
67        skip_serializing_if = "Option::is_none"
68    )]
69    pub inputs: Option<Option<std::collections::HashMap<String, serde_json::Value>>>,
70    #[serde(rename = "link")]
71    pub link: String,
72    #[serde(rename = "message")]
73    pub message: String,
74    #[serde(rename = "name")]
75    pub name: String,
76    #[serde(rename = "number")]
77    pub number: i64,
78    #[serde(rename = "params")]
79    pub params: std::collections::HashMap<String, serde_json::Value>,
80    #[serde(rename = "repo_id")]
81    pub repo_id: i64,
82    #[serde(
83        rename = "source_repo_id",
84        default,
85        with = "::serde_with::rust::double_option",
86        skip_serializing_if = "Option::is_none"
87    )]
88    pub source_repo_id: Option<Option<i64>>,
89    #[serde(
90        rename = "source_rev",
91        default,
92        with = "::serde_with::rust::double_option",
93        skip_serializing_if = "Option::is_none"
94    )]
95    pub source_rev: Option<Option<String>>,
96    #[serde(rename = "started")]
97    pub started: i64,
98    #[serde(rename = "status")]
99    pub status: models::CiStatus,
100    #[serde(rename = "target_rev")]
101    pub target_rev: String,
102    #[serde(rename = "title")]
103    pub title: String,
104    #[serde(rename = "updated")]
105    pub updated: i64,
106    #[serde(rename = "version")]
107    pub version: i64,
108    #[serde(rename = "yaml_provider")]
109    pub yaml_provider: models::WorkflowProvider,
110    #[serde(rename = "yaml_resolved")]
111    pub yaml_resolved: String,
112}
113
114impl WorkflowModel {
115    pub fn new(
116        action: String,
117        action_id: i64,
118        author_email: String,
119        author_name: String,
120        before_sha: String,
121        context: Option<serde_json::Value>,
122        created: i64,
123        created_by: i64,
124        cron: String,
125        debug: bool,
126        deploy: String,
127        deploy_id: i64,
128        error: String,
129        event: models::TriggerEvent,
130        finished: i64,
131        id: i64,
132        link: String,
133        message: String,
134        name: String,
135        number: i64,
136        params: std::collections::HashMap<String, serde_json::Value>,
137        repo_id: i64,
138        started: i64,
139        status: models::CiStatus,
140        target_rev: String,
141        title: String,
142        updated: i64,
143        version: i64,
144        yaml_provider: models::WorkflowProvider,
145        yaml_resolved: String,
146    ) -> WorkflowModel {
147        WorkflowModel {
148            action,
149            action_id,
150            after_sha: None,
151            author_email,
152            author_id: None,
153            author_name,
154            before_sha,
155            context,
156            created,
157            created_by,
158            cron,
159            debug,
160            deploy,
161            deploy_id,
162            error,
163            event,
164            finished,
165            id,
166            inputs: None,
167            link,
168            message,
169            name,
170            number,
171            params,
172            repo_id,
173            source_repo_id: None,
174            source_rev: None,
175            started,
176            status,
177            target_rev,
178            title,
179            updated,
180            version,
181            yaml_provider,
182            yaml_resolved,
183        }
184    }
185}