use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct AutoMerge {
#[serde(rename = "enabled_by")]
pub enabled_by: Box<models::SimpleUser>,
#[serde(rename = "merge_method")]
pub merge_method: MergeMethod,
#[serde(rename = "commit_title")]
pub commit_title: String,
#[serde(rename = "commit_message")]
pub commit_message: String,
}
impl AutoMerge {
pub fn new(enabled_by: models::SimpleUser, merge_method: MergeMethod, commit_title: String, commit_message: String) -> AutoMerge {
AutoMerge {
enabled_by: Box::new(enabled_by),
merge_method,
commit_title,
commit_message,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum MergeMethod {
#[serde(rename = "merge")]
Merge,
#[serde(rename = "squash")]
Squash,
#[serde(rename = "rebase")]
Rebase,
}
impl Default for MergeMethod {
fn default() -> MergeMethod {
Self::Merge
}
}