gitea_client/models/
merge_pull_request_option.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct MergePullRequestOption {
17 #[serde(rename = "Do")]
18 pub r#do: Do,
19 #[serde(rename = "MergeCommitID", skip_serializing_if = "Option::is_none")]
20 pub merge_commit_id: Option<String>,
21 #[serde(rename = "MergeMessageField", skip_serializing_if = "Option::is_none")]
22 pub merge_message_field: Option<String>,
23 #[serde(rename = "MergeTitleField", skip_serializing_if = "Option::is_none")]
24 pub merge_title_field: Option<String>,
25 #[serde(rename = "delete_branch_after_merge", skip_serializing_if = "Option::is_none")]
26 pub delete_branch_after_merge: Option<bool>,
27 #[serde(rename = "force_merge", skip_serializing_if = "Option::is_none")]
28 pub force_merge: Option<bool>,
29 #[serde(rename = "head_commit_id", skip_serializing_if = "Option::is_none")]
30 pub head_commit_id: Option<String>,
31 #[serde(rename = "merge_when_checks_succeed", skip_serializing_if = "Option::is_none")]
32 pub merge_when_checks_succeed: Option<bool>,
33}
34
35impl MergePullRequestOption {
36 pub fn new(r#do: Do) -> MergePullRequestOption {
38 MergePullRequestOption {
39 r#do,
40 merge_commit_id: None,
41 merge_message_field: None,
42 merge_title_field: None,
43 delete_branch_after_merge: None,
44 force_merge: None,
45 head_commit_id: None,
46 merge_when_checks_succeed: None,
47 }
48 }
49}
50#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
52pub enum Do {
53 #[serde(rename = "merge")]
54 Merge,
55 #[serde(rename = "rebase")]
56 Rebase,
57 #[serde(rename = "rebase-merge")]
58 RebaseMerge,
59 #[serde(rename = "squash")]
60 Squash,
61 #[serde(rename = "fast-forward-only")]
62 FastForwardOnly,
63 #[serde(rename = "manually-merged")]
64 ManuallyMerged,
65}
66
67impl Default for Do {
68 fn default() -> Do {
69 Self::Merge
70 }
71}
72