Skip to main content

nominal_api/conjure/objects/scout/checks/api/
merge_to_main_request.rs

1#[derive(
2    Debug,
3    Clone,
4    conjure_object::serde::Serialize,
5    conjure_object::serde::Deserialize,
6    PartialEq,
7    Eq,
8    PartialOrd,
9    Ord,
10    Hash
11)]
12#[serde(crate = "conjure_object::serde")]
13#[conjure_object::private::staged_builder::staged_builder]
14#[builder(crate = conjure_object::private::staged_builder, update, inline)]
15pub struct MergeToMainRequest {
16    #[serde(rename = "branchName")]
17    branch_name: super::super::super::versioning::api::BranchName,
18    #[builder(into)]
19    #[serde(rename = "message")]
20    message: String,
21    #[builder(default, into)]
22    #[serde(
23        rename = "latestCommitOnMain",
24        skip_serializing_if = "Option::is_none",
25        default
26    )]
27    latest_commit_on_main: Option<super::super::super::versioning::api::CommitId>,
28}
29impl MergeToMainRequest {
30    /// Constructs a new instance of the type.
31    #[inline]
32    pub fn new(
33        branch_name: super::super::super::versioning::api::BranchName,
34        message: impl Into<String>,
35    ) -> Self {
36        Self::builder().branch_name(branch_name).message(message).build()
37    }
38    /// If "main", the request will throw.
39    #[inline]
40    pub fn branch_name(&self) -> &super::super::super::versioning::api::BranchName {
41        &self.branch_name
42    }
43    #[inline]
44    pub fn message(&self) -> &str {
45        &*self.message
46    }
47    /// If present, will validate that the latest commit matches this id,
48    /// and otherwise throw CommitConflict.
49    #[inline]
50    pub fn latest_commit_on_main(
51        &self,
52    ) -> Option<&super::super::super::versioning::api::CommitId> {
53        self.latest_commit_on_main.as_ref().map(|o| &*o)
54    }
55}