1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct RepositoryModel {
17 #[serde(rename = "created")]
18 pub created: i64,
19 #[serde(rename = "created_by")]
20 pub created_by: i64,
21 #[serde(rename = "default_branch")]
22 pub default_branch: String,
23 #[serde(
24 rename = "deleted",
25 default,
26 with = "::serde_with::rust::double_option",
27 skip_serializing_if = "Option::is_none"
28 )]
29 pub deleted: Option<Option<i64>>,
30 #[serde(rename = "description")]
31 pub description: String,
32 #[serde(rename = "display_name")]
33 pub display_name: String,
34 #[serde(
35 rename = "fork_id",
36 default,
37 with = "::serde_with::rust::double_option",
38 skip_serializing_if = "Option::is_none"
39 )]
40 pub fork_id: Option<Option<i64>>,
41 #[serde(
42 rename = "git_ssh_url",
43 default,
44 with = "::serde_with::rust::double_option",
45 skip_serializing_if = "Option::is_none"
46 )]
47 pub git_ssh_url: Option<Option<String>>,
48 #[serde(rename = "git_uid")]
49 pub git_uid: String,
50 #[serde(
51 rename = "git_url",
52 default,
53 with = "::serde_with::rust::double_option",
54 skip_serializing_if = "Option::is_none"
55 )]
56 pub git_url: Option<Option<String>>,
57 #[serde(rename = "group_id")]
58 pub group_id: i64,
59 #[serde(rename = "id")]
60 pub id: i64,
61 #[serde(rename = "importing")]
62 pub importing: bool,
63 #[serde(rename = "is_empty")]
64 pub is_empty: bool,
65 #[serde(rename = "is_public")]
66 pub is_public: bool,
67 #[serde(rename = "name")]
68 pub name: String,
69 #[serde(rename = "num_closed_pulls")]
70 pub num_closed_pulls: i64,
71 #[serde(rename = "num_forks")]
72 pub num_forks: i64,
73 #[serde(rename = "num_merged_pulls")]
74 pub num_merged_pulls: i64,
75 #[serde(rename = "num_open_pulls")]
76 pub num_open_pulls: i64,
77 #[serde(rename = "num_pulls")]
78 pub num_pulls: i64,
79 #[serde(rename = "num_stars")]
80 pub num_stars: i64,
81 #[serde(
82 rename = "path",
83 default,
84 with = "::serde_with::rust::double_option",
85 skip_serializing_if = "Option::is_none"
86 )]
87 pub path: Option<Option<String>>,
88 #[serde(rename = "pullreq_seq")]
89 pub pullreq_seq: i64,
90 #[serde(rename = "size")]
91 pub size: i64,
92 #[serde(
93 rename = "size_updated",
94 default,
95 with = "::serde_with::rust::double_option",
96 skip_serializing_if = "Option::is_none"
97 )]
98 pub size_updated: Option<Option<i64>>,
99 #[serde(rename = "updated")]
100 pub updated: i64,
101 #[serde(rename = "version")]
102 pub version: i64,
103}
104
105impl RepositoryModel {
106 pub fn new(
107 created: i64,
108 created_by: i64,
109 default_branch: String,
110 description: String,
111 display_name: String,
112 git_uid: String,
113 group_id: i64,
114 id: i64,
115 importing: bool,
116 is_empty: bool,
117 is_public: bool,
118 name: String,
119 num_closed_pulls: i64,
120 num_forks: i64,
121 num_merged_pulls: i64,
122 num_open_pulls: i64,
123 num_pulls: i64,
124 num_stars: i64,
125 pullreq_seq: i64,
126 size: i64,
127 updated: i64,
128 version: i64,
129 ) -> RepositoryModel {
130 RepositoryModel {
131 created,
132 created_by,
133 default_branch,
134 deleted: None,
135 description,
136 display_name,
137 fork_id: None,
138 git_ssh_url: None,
139 git_uid,
140 git_url: None,
141 group_id,
142 id,
143 importing,
144 is_empty,
145 is_public,
146 name,
147 num_closed_pulls,
148 num_forks,
149 num_merged_pulls,
150 num_open_pulls,
151 num_pulls,
152 num_stars,
153 path: None,
154 pullreq_seq,
155 size,
156 size_updated: None,
157 updated,
158 version,
159 }
160 }
161}