openapi_github/models/
webhooks_release.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct WebhooksRelease {
17 #[serde(rename = "assets")]
18 pub assets: Vec<models::ReleaseAsset>,
19 #[serde(rename = "assets_url")]
20 pub assets_url: String,
21 #[serde(rename = "author", deserialize_with = "Option::deserialize")]
22 pub author: Option<Box<models::User>>,
23 #[serde(rename = "body", deserialize_with = "Option::deserialize")]
24 pub body: Option<String>,
25 #[serde(rename = "created_at", deserialize_with = "Option::deserialize")]
26 pub created_at: Option<String>,
27 #[serde(rename = "discussion_url", skip_serializing_if = "Option::is_none")]
28 pub discussion_url: Option<String>,
29 #[serde(rename = "draft")]
31 pub draft: bool,
32 #[serde(rename = "html_url")]
33 pub html_url: String,
34 #[serde(rename = "id")]
35 pub id: i32,
36 #[serde(rename = "name", deserialize_with = "Option::deserialize")]
37 pub name: Option<String>,
38 #[serde(rename = "node_id")]
39 pub node_id: String,
40 #[serde(rename = "prerelease")]
42 pub prerelease: bool,
43 #[serde(rename = "published_at", deserialize_with = "Option::deserialize")]
44 pub published_at: Option<String>,
45 #[serde(rename = "reactions", skip_serializing_if = "Option::is_none")]
46 pub reactions: Option<Box<models::Reactions>>,
47 #[serde(rename = "tag_name")]
49 pub tag_name: String,
50 #[serde(rename = "tarball_url", deserialize_with = "Option::deserialize")]
51 pub tarball_url: Option<String>,
52 #[serde(rename = "target_commitish")]
54 pub target_commitish: String,
55 #[serde(rename = "upload_url")]
56 pub upload_url: String,
57 #[serde(rename = "url")]
58 pub url: String,
59 #[serde(rename = "zipball_url", deserialize_with = "Option::deserialize")]
60 pub zipball_url: Option<String>,
61}
62
63impl WebhooksRelease {
64 pub fn new(assets: Vec<models::ReleaseAsset>, assets_url: String, author: Option<models::User>, body: Option<String>, created_at: Option<String>, draft: bool, html_url: String, id: i32, name: Option<String>, node_id: String, prerelease: bool, published_at: Option<String>, tag_name: String, tarball_url: Option<String>, target_commitish: String, upload_url: String, url: String, zipball_url: Option<String>) -> WebhooksRelease {
66 WebhooksRelease {
67 assets,
68 assets_url,
69 author: author.map(Box::new),
70 body,
71 created_at,
72 discussion_url: None,
73 draft,
74 html_url,
75 id,
76 name,
77 node_id,
78 prerelease,
79 published_at,
80 reactions: None,
81 tag_name,
82 tarball_url,
83 target_commitish,
84 upload_url,
85 url,
86 zipball_url,
87 }
88 }
89}
90