gitbundle_sdk/models/
webhook_model.rs1use serde::{Deserialize, Serialize};
12
13use crate::models;
14
15#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct WebhookModel {
17 #[serde(rename = "created")]
18 pub created: i64,
19 #[serde(rename = "created_by")]
20 pub created_by: i64,
21 #[serde(rename = "description")]
22 pub description: String,
23 #[serde(rename = "display_name")]
24 pub display_name: String,
25 #[serde(rename = "enabled")]
26 pub enabled: bool,
27 #[serde(
28 rename = "group_id",
29 default,
30 with = "::serde_with::rust::double_option",
31 skip_serializing_if = "Option::is_none"
32 )]
33 pub group_id: Option<Option<i64>>,
34 #[serde(rename = "id")]
35 pub id: i64,
36 #[serde(rename = "insecure")]
37 pub insecure: bool,
38 #[serde(rename = "internal")]
39 pub internal: bool,
40 #[serde(
41 rename = "latest_execution_result",
42 default,
43 with = "::serde_with::rust::double_option",
44 skip_serializing_if = "Option::is_none"
45 )]
46 pub latest_execution_result: Option<Option<models::WebhookExecutionResult>>,
47 #[serde(rename = "name")]
48 pub name: String,
49 #[serde(rename = "parent_type")]
50 pub parent_type: models::WebhookParentType,
51 #[serde(
52 rename = "repo_id",
53 default,
54 with = "::serde_with::rust::double_option",
55 skip_serializing_if = "Option::is_none"
56 )]
57 pub repo_id: Option<Option<i64>>,
58 #[serde(rename = "secret")]
59 pub secret: String,
60 #[serde(rename = "triggers")]
61 pub triggers: Vec<models::WebhookTrigger>,
62 #[serde(rename = "updated")]
63 pub updated: i64,
64 #[serde(rename = "url")]
65 pub url: String,
66 #[serde(rename = "version")]
67 pub version: i64,
68}
69
70impl WebhookModel {
71 pub fn new(
72 created: i64,
73 created_by: i64,
74 description: String,
75 display_name: String,
76 enabled: bool,
77 id: i64,
78 insecure: bool,
79 internal: bool,
80 name: String,
81 parent_type: models::WebhookParentType,
82 secret: String,
83 triggers: Vec<models::WebhookTrigger>,
84 updated: i64,
85 url: String,
86 version: i64,
87 ) -> WebhookModel {
88 WebhookModel {
89 created,
90 created_by,
91 description,
92 display_name,
93 enabled,
94 group_id: None,
95 id,
96 insecure,
97 internal,
98 latest_execution_result: None,
99 name,
100 parent_type,
101 repo_id: None,
102 secret,
103 triggers,
104 updated,
105 url,
106 version,
107 }
108 }
109}