gitea_client/models/
edit_branch_protection_option.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct EditBranchProtectionOption {
17 #[serde(rename = "approvals_whitelist_teams", skip_serializing_if = "Option::is_none")]
18 pub approvals_whitelist_teams: Option<Vec<String>>,
19 #[serde(rename = "approvals_whitelist_username", skip_serializing_if = "Option::is_none")]
20 pub approvals_whitelist_username: Option<Vec<String>>,
21 #[serde(rename = "block_on_official_review_requests", skip_serializing_if = "Option::is_none")]
22 pub block_on_official_review_requests: Option<bool>,
23 #[serde(rename = "block_on_outdated_branch", skip_serializing_if = "Option::is_none")]
24 pub block_on_outdated_branch: Option<bool>,
25 #[serde(rename = "block_on_rejected_reviews", skip_serializing_if = "Option::is_none")]
26 pub block_on_rejected_reviews: Option<bool>,
27 #[serde(rename = "dismiss_stale_approvals", skip_serializing_if = "Option::is_none")]
28 pub dismiss_stale_approvals: Option<bool>,
29 #[serde(rename = "enable_approvals_whitelist", skip_serializing_if = "Option::is_none")]
30 pub enable_approvals_whitelist: Option<bool>,
31 #[serde(rename = "enable_merge_whitelist", skip_serializing_if = "Option::is_none")]
32 pub enable_merge_whitelist: Option<bool>,
33 #[serde(rename = "enable_push", skip_serializing_if = "Option::is_none")]
34 pub enable_push: Option<bool>,
35 #[serde(rename = "enable_push_whitelist", skip_serializing_if = "Option::is_none")]
36 pub enable_push_whitelist: Option<bool>,
37 #[serde(rename = "enable_status_check", skip_serializing_if = "Option::is_none")]
38 pub enable_status_check: Option<bool>,
39 #[serde(rename = "ignore_stale_approvals", skip_serializing_if = "Option::is_none")]
40 pub ignore_stale_approvals: Option<bool>,
41 #[serde(rename = "merge_whitelist_teams", skip_serializing_if = "Option::is_none")]
42 pub merge_whitelist_teams: Option<Vec<String>>,
43 #[serde(rename = "merge_whitelist_usernames", skip_serializing_if = "Option::is_none")]
44 pub merge_whitelist_usernames: Option<Vec<String>>,
45 #[serde(rename = "protected_file_patterns", skip_serializing_if = "Option::is_none")]
46 pub protected_file_patterns: Option<String>,
47 #[serde(rename = "push_whitelist_deploy_keys", skip_serializing_if = "Option::is_none")]
48 pub push_whitelist_deploy_keys: Option<bool>,
49 #[serde(rename = "push_whitelist_teams", skip_serializing_if = "Option::is_none")]
50 pub push_whitelist_teams: Option<Vec<String>>,
51 #[serde(rename = "push_whitelist_usernames", skip_serializing_if = "Option::is_none")]
52 pub push_whitelist_usernames: Option<Vec<String>>,
53 #[serde(rename = "require_signed_commits", skip_serializing_if = "Option::is_none")]
54 pub require_signed_commits: Option<bool>,
55 #[serde(rename = "required_approvals", skip_serializing_if = "Option::is_none")]
56 pub required_approvals: Option<i64>,
57 #[serde(rename = "status_check_contexts", skip_serializing_if = "Option::is_none")]
58 pub status_check_contexts: Option<Vec<String>>,
59 #[serde(rename = "unprotected_file_patterns", skip_serializing_if = "Option::is_none")]
60 pub unprotected_file_patterns: Option<String>,
61}
62
63impl EditBranchProtectionOption {
64 pub fn new() -> EditBranchProtectionOption {
66 EditBranchProtectionOption {
67 approvals_whitelist_teams: None,
68 approvals_whitelist_username: None,
69 block_on_official_review_requests: None,
70 block_on_outdated_branch: None,
71 block_on_rejected_reviews: None,
72 dismiss_stale_approvals: None,
73 enable_approvals_whitelist: None,
74 enable_merge_whitelist: None,
75 enable_push: None,
76 enable_push_whitelist: None,
77 enable_status_check: None,
78 ignore_stale_approvals: None,
79 merge_whitelist_teams: None,
80 merge_whitelist_usernames: None,
81 protected_file_patterns: None,
82 push_whitelist_deploy_keys: None,
83 push_whitelist_teams: None,
84 push_whitelist_usernames: None,
85 require_signed_commits: None,
86 required_approvals: None,
87 status_check_contexts: None,
88 unprotected_file_patterns: None,
89 }
90 }
91}
92