openapi_github/models/
protected_branch.rs

1/*
2 * GitHub's official OpenAPI spec + Octokit extension
3 *
4 * OpenAPI specs from https://github.com/github/rest-api-description with the 'x-octokit' extension required by the Octokit SDKs
5 *
6 * The version of the OpenAPI document: 16.6.0
7 * 
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14/// ProtectedBranch : Branch protections protect branches
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct ProtectedBranch {
17    #[serde(rename = "url")]
18    pub url: String,
19    #[serde(rename = "required_status_checks", skip_serializing_if = "Option::is_none")]
20    pub required_status_checks: Option<Box<models::StatusCheckPolicy>>,
21    #[serde(rename = "required_pull_request_reviews", skip_serializing_if = "Option::is_none")]
22    pub required_pull_request_reviews: Option<Box<models::ProtectedBranchRequiredPullRequestReviews>>,
23    #[serde(rename = "required_signatures", skip_serializing_if = "Option::is_none")]
24    pub required_signatures: Option<Box<models::BranchProtectionRequiredSignatures>>,
25    #[serde(rename = "enforce_admins", skip_serializing_if = "Option::is_none")]
26    pub enforce_admins: Option<Box<models::ProtectedBranchEnforceAdmins>>,
27    #[serde(rename = "required_linear_history", skip_serializing_if = "Option::is_none")]
28    pub required_linear_history: Option<Box<models::ProtectedBranchRequiredLinearHistory>>,
29    #[serde(rename = "allow_force_pushes", skip_serializing_if = "Option::is_none")]
30    pub allow_force_pushes: Option<Box<models::ProtectedBranchRequiredLinearHistory>>,
31    #[serde(rename = "allow_deletions", skip_serializing_if = "Option::is_none")]
32    pub allow_deletions: Option<Box<models::ProtectedBranchRequiredLinearHistory>>,
33    #[serde(rename = "restrictions", skip_serializing_if = "Option::is_none")]
34    pub restrictions: Option<Box<models::BranchRestrictionPolicy>>,
35    #[serde(rename = "required_conversation_resolution", skip_serializing_if = "Option::is_none")]
36    pub required_conversation_resolution: Option<Box<models::ProtectedBranchRequiredConversationResolution>>,
37    #[serde(rename = "block_creations", skip_serializing_if = "Option::is_none")]
38    pub block_creations: Option<Box<models::ProtectedBranchRequiredLinearHistory>>,
39    #[serde(rename = "lock_branch", skip_serializing_if = "Option::is_none")]
40    pub lock_branch: Option<Box<models::ProtectedBranchLockBranch>>,
41    #[serde(rename = "allow_fork_syncing", skip_serializing_if = "Option::is_none")]
42    pub allow_fork_syncing: Option<Box<models::ProtectedBranchAllowForkSyncing>>,
43}
44
45impl ProtectedBranch {
46    /// Branch protections protect branches
47    pub fn new(url: String) -> ProtectedBranch {
48        ProtectedBranch {
49            url,
50            required_status_checks: None,
51            required_pull_request_reviews: None,
52            required_signatures: None,
53            enforce_admins: None,
54            required_linear_history: None,
55            allow_force_pushes: None,
56            allow_deletions: None,
57            restrictions: None,
58            required_conversation_resolution: None,
59            block_creations: None,
60            lock_branch: None,
61            allow_fork_syncing: None,
62        }
63    }
64}
65