use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct RepositoryRuleCommitMessagePatternParameters {
#[serde(rename = "name", skip_serializing_if = "Option::is_none")]
pub name: Option<String>,
#[serde(rename = "negate", skip_serializing_if = "Option::is_none")]
pub negate: Option<bool>,
#[serde(rename = "operator")]
pub operator: Operator,
#[serde(rename = "pattern")]
pub pattern: String,
}
impl RepositoryRuleCommitMessagePatternParameters {
pub fn new(operator: Operator, pattern: String) -> RepositoryRuleCommitMessagePatternParameters {
RepositoryRuleCommitMessagePatternParameters {
name: None,
negate: None,
operator,
pattern,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum Operator {
#[serde(rename = "starts_with")]
StartsWith,
#[serde(rename = "ends_with")]
EndsWith,
#[serde(rename = "contains")]
Contains,
#[serde(rename = "regex")]
Regex,
}
impl Default for Operator {
fn default() -> Operator {
Self::StartsWith
}
}