openapi_github/models/
repository_rule_commit_message_pattern_parameters.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#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct RepositoryRuleCommitMessagePatternParameters {
16    /// How this rule will appear to users.
17    #[serde(rename = "name", skip_serializing_if = "Option::is_none")]
18    pub name: Option<String>,
19    /// If true, the rule will fail if the pattern matches.
20    #[serde(rename = "negate", skip_serializing_if = "Option::is_none")]
21    pub negate: Option<bool>,
22    /// The operator to use for matching.
23    #[serde(rename = "operator")]
24    pub operator: Operator,
25    /// The pattern to match with.
26    #[serde(rename = "pattern")]
27    pub pattern: String,
28}
29
30impl RepositoryRuleCommitMessagePatternParameters {
31    pub fn new(operator: Operator, pattern: String) -> RepositoryRuleCommitMessagePatternParameters {
32        RepositoryRuleCommitMessagePatternParameters {
33            name: None,
34            negate: None,
35            operator,
36            pattern,
37        }
38    }
39}
40/// The operator to use for matching.
41#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
42pub enum Operator {
43    #[serde(rename = "starts_with")]
44    StartsWith,
45    #[serde(rename = "ends_with")]
46    EndsWith,
47    #[serde(rename = "contains")]
48    Contains,
49    #[serde(rename = "regex")]
50    Regex,
51}
52
53impl Default for Operator {
54    fn default() -> Operator {
55        Self::StartsWith
56    }
57}
58