gitbundle_sdk/models/
release_model.rs

1/*
2 * GitBundle API
3 *
4 * GitBundle API documentation.
5 *
6 * The version of the OpenAPI document: 3.0.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 ReleaseModel {
17    #[serde(rename = "assets", skip_serializing_if = "Option::is_none")]
18    pub assets: Option<Vec<String>>,
19    #[serde(rename = "contributors", skip_serializing_if = "Option::is_none")]
20    pub contributors: Option<Vec<models::Contributor>>,
21    #[serde(rename = "created")]
22    pub created: i64,
23    #[serde(rename = "created_by")]
24    pub created_by: i64,
25    #[serde(
26        rename = "deleted",
27        default,
28        with = "::serde_with::rust::double_option",
29        skip_serializing_if = "Option::is_none"
30    )]
31    pub deleted: Option<Option<i64>>,
32    #[serde(rename = "description")]
33    pub description: String,
34    #[serde(rename = "id")]
35    pub id: i64,
36    #[serde(rename = "is_draft")]
37    pub is_draft: bool,
38    #[serde(
39        rename = "is_latest",
40        default,
41        with = "::serde_with::rust::double_option",
42        skip_serializing_if = "Option::is_none"
43    )]
44    pub is_latest: Option<Option<bool>>,
45    #[serde(rename = "is_prerelease")]
46    pub is_prerelease: bool,
47    #[serde(rename = "num_commits")]
48    pub num_commits: i64,
49    #[serde(
50        rename = "origin_author",
51        default,
52        with = "::serde_with::rust::double_option",
53        skip_serializing_if = "Option::is_none"
54    )]
55    pub origin_author: Option<Option<String>>,
56    #[serde(
57        rename = "origin_author_id",
58        default,
59        with = "::serde_with::rust::double_option",
60        skip_serializing_if = "Option::is_none"
61    )]
62    pub origin_author_id: Option<Option<i64>>,
63    #[serde(rename = "repo_id")]
64    pub repo_id: i64,
65    #[serde(rename = "sha1")]
66    pub sha1: String,
67    #[serde(rename = "tag_name")]
68    pub tag_name: String,
69    #[serde(rename = "title")]
70    pub title: String,
71    #[serde(rename = "updated")]
72    pub updated: i64,
73    #[serde(rename = "version")]
74    pub version: i64,
75}
76
77impl ReleaseModel {
78    pub fn new(
79        created: i64,
80        created_by: i64,
81        description: String,
82        id: i64,
83        is_draft: bool,
84        is_prerelease: bool,
85        num_commits: i64,
86        repo_id: i64,
87        sha1: String,
88        tag_name: String,
89        title: String,
90        updated: i64,
91        version: i64,
92    ) -> ReleaseModel {
93        ReleaseModel {
94            assets: None,
95            contributors: None,
96            created,
97            created_by,
98            deleted: None,
99            description,
100            id,
101            is_draft,
102            is_latest: None,
103            is_prerelease,
104            num_commits,
105            origin_author: None,
106            origin_author_id: None,
107            repo_id,
108            sha1,
109            tag_name,
110            title,
111            updated,
112            version,
113        }
114    }
115}