gitbundle_sdk/models/
workflow_model.rs

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