gitbundle_sdk/models/
rule_model.rs

1/*
2 * GitBundle API
3 *
4 * GitBundle API documentation.
5 *
6 * The version of the OpenAPI document: 3.2.0
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 RuleModel {
17    #[serde(rename = "created")]
18    pub created: i64,
19    #[serde(rename = "created_by")]
20    pub created_by: i64,
21    #[serde(rename = "definition", deserialize_with = "Option::deserialize")]
22    pub definition: Option<serde_json::Value>,
23    #[serde(rename = "description")]
24    pub description: String,
25    #[serde(
26        rename = "group_id",
27        default,
28        with = "::serde_with::rust::double_option",
29        skip_serializing_if = "Option::is_none"
30    )]
31    pub group_id: Option<Option<i64>>,
32    #[serde(rename = "id")]
33    pub id: i64,
34    #[serde(rename = "name")]
35    pub name: String,
36    #[serde(rename = "pattern", deserialize_with = "Option::deserialize")]
37    pub pattern: Option<serde_json::Value>,
38    #[serde(
39        rename = "repo_id",
40        default,
41        with = "::serde_with::rust::double_option",
42        skip_serializing_if = "Option::is_none"
43    )]
44    pub repo_id: Option<Option<i64>>,
45    #[serde(rename = "state")]
46    pub state: models::RuleState,
47    #[serde(rename = "type")]
48    pub r#type: models::RuleType,
49    #[serde(rename = "updated")]
50    pub updated: i64,
51    #[serde(rename = "version")]
52    pub version: i64,
53}
54
55impl RuleModel {
56    pub fn new(
57        created: i64,
58        created_by: i64,
59        definition: Option<serde_json::Value>,
60        description: String,
61        id: i64,
62        name: String,
63        pattern: Option<serde_json::Value>,
64        state: models::RuleState,
65        r#type: models::RuleType,
66        updated: i64,
67        version: i64,
68    ) -> RuleModel {
69        RuleModel {
70            created,
71            created_by,
72            definition,
73            description,
74            group_id: None,
75            id,
76            name,
77            pattern,
78            repo_id: None,
79            state,
80            r#type,
81            updated,
82            version,
83        }
84    }
85}