openapi_github/models/
webhook.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct Webhook {
17 #[serde(rename = "active")]
19 pub active: bool,
20 #[serde(rename = "app_id", skip_serializing_if = "Option::is_none")]
22 pub app_id: Option<i32>,
23 #[serde(rename = "config")]
24 pub config: Box<models::WebhookConfig>,
25 #[serde(rename = "created_at")]
26 pub created_at: String,
27 #[serde(rename = "deliveries_url", skip_serializing_if = "Option::is_none")]
28 pub deliveries_url: Option<String>,
29 #[serde(rename = "events")]
31 pub events: Vec<String>,
32 #[serde(rename = "id")]
34 pub id: i32,
35 #[serde(rename = "last_response", skip_serializing_if = "Option::is_none")]
36 pub last_response: Option<Box<models::HookResponse>>,
37 #[serde(rename = "name")]
39 pub name: Name,
40 #[serde(rename = "ping_url", skip_serializing_if = "Option::is_none")]
41 pub ping_url: Option<String>,
42 #[serde(rename = "test_url", skip_serializing_if = "Option::is_none")]
43 pub test_url: Option<String>,
44 #[serde(rename = "type")]
45 pub r#type: String,
46 #[serde(rename = "updated_at")]
47 pub updated_at: String,
48 #[serde(rename = "url", skip_serializing_if = "Option::is_none")]
49 pub url: Option<String>,
50}
51
52impl Webhook {
53 pub fn new(active: bool, config: models::WebhookConfig, created_at: String, events: Vec<String>, id: i32, name: Name, r#type: String, updated_at: String) -> Webhook {
55 Webhook {
56 active,
57 app_id: None,
58 config: Box::new(config),
59 created_at,
60 deliveries_url: None,
61 events,
62 id,
63 last_response: None,
64 name,
65 ping_url: None,
66 test_url: None,
67 r#type,
68 updated_at,
69 url: None,
70 }
71 }
72}
73#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
75pub enum Name {
76 #[serde(rename = "web")]
77 Web,
78}
79
80impl Default for Name {
81 fn default() -> Name {
82 Self::Web
83 }
84}
85