Skip to main content

gitbundle_sdk/models/
rule_metadata.rs

1/*
2 * GitBundle API
3 *
4 * GitBundle API documentation.
5 *
6 * The version of the OpenAPI document: 3.4.1
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct RuleMetadata {
17    #[serde(rename = "group_path")]
18    pub group_path: String,
19    #[serde(rename = "repo_path")]
20    pub repo_path: String,
21    #[serde(rename = "rule_definition", deserialize_with = "Option::deserialize")]
22    pub rule_definition: Option<serde_json::Value>,
23    #[serde(rename = "rule_id")]
24    pub rule_id: i64,
25    #[serde(rename = "rule_name")]
26    pub rule_name: String,
27    #[serde(rename = "rule_pattern", deserialize_with = "Option::deserialize")]
28    pub rule_pattern: Option<serde_json::Value>,
29    #[serde(rename = "rule_state")]
30    pub rule_state: models::RuleState,
31    #[serde(rename = "rule_type")]
32    pub rule_type: models::RuleType,
33}
34
35impl RuleMetadata {
36    pub fn new(
37        group_path: String,
38        repo_path: String,
39        rule_definition: Option<serde_json::Value>,
40        rule_id: i64,
41        rule_name: String,
42        rule_pattern: Option<serde_json::Value>,
43        rule_state: models::RuleState,
44        rule_type: models::RuleType,
45    ) -> RuleMetadata {
46        RuleMetadata {
47            group_path,
48            repo_path,
49            rule_definition,
50            rule_id,
51            rule_name,
52            rule_pattern,
53            rule_state,
54            rule_type,
55        }
56    }
57}