openapi_github/models/
webhook_push.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct WebhookPush {
16 #[serde(rename = "after")]
18 pub after: String,
19 #[serde(rename = "base_ref", deserialize_with = "Option::deserialize")]
20 pub base_ref: Option<String>,
21 #[serde(rename = "before")]
23 pub before: String,
24 #[serde(rename = "commits")]
26 pub commits: Vec<models::Commit>,
27 #[serde(rename = "compare")]
29 pub compare: String,
30 #[serde(rename = "created")]
32 pub created: bool,
33 #[serde(rename = "deleted")]
35 pub deleted: bool,
36 #[serde(rename = "enterprise", skip_serializing_if = "Option::is_none")]
37 pub enterprise: Option<Box<models::EnterpriseWebhooks>>,
38 #[serde(rename = "forced")]
40 pub forced: bool,
41 #[serde(rename = "head_commit", deserialize_with = "Option::deserialize")]
42 pub head_commit: Option<Box<models::Commit1>>,
43 #[serde(rename = "installation", skip_serializing_if = "Option::is_none")]
44 pub installation: Option<Box<models::SimpleInstallation>>,
45 #[serde(rename = "organization", skip_serializing_if = "Option::is_none")]
46 pub organization: Option<Box<models::OrganizationSimpleWebhooks>>,
47 #[serde(rename = "pusher")]
48 pub pusher: Box<models::Committer1>,
49 #[serde(rename = "ref")]
51 pub r#ref: String,
52 #[serde(rename = "repository")]
53 pub repository: Box<models::Repository2>,
54 #[serde(rename = "sender", skip_serializing_if = "Option::is_none")]
55 pub sender: Option<Box<models::SimpleUserWebhooks>>,
56}
57
58impl WebhookPush {
59 pub fn new(after: String, base_ref: Option<String>, before: String, commits: Vec<models::Commit>, compare: String, created: bool, deleted: bool, forced: bool, head_commit: Option<models::Commit1>, pusher: models::Committer1, r#ref: String, repository: models::Repository2) -> WebhookPush {
60 WebhookPush {
61 after,
62 base_ref,
63 before,
64 commits,
65 compare,
66 created,
67 deleted,
68 enterprise: None,
69 forced,
70 head_commit: head_commit.map(Box::new),
71 installation: None,
72 organization: None,
73 pusher: Box::new(pusher),
74 r#ref,
75 repository: Box::new(repository),
76 sender: None,
77 }
78 }
79}
80