gitbundle_sdk/models/
group_model.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct GroupModel {
17 #[serde(rename = "created")]
18 pub created: i64,
19 #[serde(rename = "created_by")]
20 pub created_by: i64,
21 #[serde(
22 rename = "deleted",
23 default,
24 with = "::serde_with::rust::double_option",
25 skip_serializing_if = "Option::is_none"
26 )]
27 pub deleted: Option<Option<i64>>,
28 #[serde(
29 rename = "description",
30 default,
31 with = "::serde_with::rust::double_option",
32 skip_serializing_if = "Option::is_none"
33 )]
34 pub description: Option<Option<String>>,
35 #[serde(rename = "id")]
36 pub id: i64,
37 #[serde(rename = "is_public")]
38 pub is_public: bool,
39 #[serde(rename = "is_user_home")]
40 pub is_user_home: bool,
41 #[serde(rename = "name")]
42 pub name: String,
43 #[serde(
44 rename = "parent_id",
45 default,
46 with = "::serde_with::rust::double_option",
47 skip_serializing_if = "Option::is_none"
48 )]
49 pub parent_id: Option<Option<i64>>,
50 #[serde(
51 rename = "path",
52 default,
53 with = "::serde_with::rust::double_option",
54 skip_serializing_if = "Option::is_none"
55 )]
56 pub path: Option<Option<String>>,
57 #[serde(rename = "updated")]
58 pub updated: i64,
59 #[serde(rename = "version")]
60 pub version: i64,
61}
62
63impl GroupModel {
64 pub fn new(
65 created: i64,
66 created_by: i64,
67 id: i64,
68 is_public: bool,
69 is_user_home: bool,
70 name: String,
71 updated: i64,
72 version: i64,
73 ) -> GroupModel {
74 GroupModel {
75 created,
76 created_by,
77 deleted: None,
78 description: None,
79 id,
80 is_public,
81 is_user_home,
82 name,
83 parent_id: None,
84 path: None,
85 updated,
86 version,
87 }
88 }
89}