Skip to main content

gitbundle_sdk/models/
pullreq_merge_output.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 PullreqMergeOutput {
17    #[serde(
18        rename = "allowed_methods",
19        default,
20        with = "::serde_with::rust::double_option",
21        skip_serializing_if = "Option::is_none"
22    )]
23    pub allowed_methods: Option<Option<Vec<models::PullreqMergeMethod>>>,
24    #[serde(
25        rename = "branch_deleted",
26        default,
27        with = "::serde_with::rust::double_option",
28        skip_serializing_if = "Option::is_none"
29    )]
30    pub branch_deleted: Option<Option<bool>>,
31    #[serde(rename = "conflict_files")]
32    pub conflict_files: Vec<String>,
33    #[serde(
34        rename = "dry_run",
35        default,
36        with = "::serde_with::rust::double_option",
37        skip_serializing_if = "Option::is_none"
38    )]
39    pub dry_run: Option<Option<bool>>,
40    #[serde(
41        rename = "minimum_required_approvals_count",
42        default,
43        with = "::serde_with::rust::double_option",
44        skip_serializing_if = "Option::is_none"
45    )]
46    pub minimum_required_approvals_count: Option<Option<i64>>,
47    #[serde(
48        rename = "minimum_required_approvals_count_latest",
49        default,
50        with = "::serde_with::rust::double_option",
51        skip_serializing_if = "Option::is_none"
52    )]
53    pub minimum_required_approvals_count_latest: Option<Option<i64>>,
54    #[serde(
55        rename = "requires_code_owners_approval",
56        default,
57        with = "::serde_with::rust::double_option",
58        skip_serializing_if = "Option::is_none"
59    )]
60    pub requires_code_owners_approval: Option<Option<bool>>,
61    #[serde(
62        rename = "requires_code_owners_approval_latest",
63        default,
64        with = "::serde_with::rust::double_option",
65        skip_serializing_if = "Option::is_none"
66    )]
67    pub requires_code_owners_approval_latest: Option<Option<bool>>,
68    #[serde(
69        rename = "requires_comment_resolution",
70        default,
71        with = "::serde_with::rust::double_option",
72        skip_serializing_if = "Option::is_none"
73    )]
74    pub requires_comment_resolution: Option<Option<bool>>,
75    #[serde(
76        rename = "requires_no_change_requests",
77        default,
78        with = "::serde_with::rust::double_option",
79        skip_serializing_if = "Option::is_none"
80    )]
81    pub requires_no_change_requests: Option<Option<bool>>,
82    #[serde(rename = "rule_checks")]
83    pub rule_checks: Vec<models::RuleCheckResult>,
84    #[serde(
85        rename = "sha",
86        default,
87        with = "::serde_with::rust::double_option",
88        skip_serializing_if = "Option::is_none"
89    )]
90    pub sha: Option<Option<String>>,
91}
92
93impl PullreqMergeOutput {
94    pub fn new(
95        conflict_files: Vec<String>,
96        rule_checks: Vec<models::RuleCheckResult>,
97    ) -> PullreqMergeOutput {
98        PullreqMergeOutput {
99            allowed_methods: None,
100            branch_deleted: None,
101            conflict_files,
102            dry_run: None,
103            minimum_required_approvals_count: None,
104            minimum_required_approvals_count_latest: None,
105            requires_code_owners_approval: None,
106            requires_code_owners_approval_latest: None,
107            requires_comment_resolution: None,
108            requires_no_change_requests: None,
109            rule_checks,
110            sha: None,
111        }
112    }
113}