gitea_client/models/
create_hook_option.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct CreateHookOption {
17 #[serde(rename = "active", skip_serializing_if = "Option::is_none")]
18 pub active: Option<bool>,
19 #[serde(rename = "authorization_header", skip_serializing_if = "Option::is_none")]
20 pub authorization_header: Option<String>,
21 #[serde(rename = "branch_filter", skip_serializing_if = "Option::is_none")]
22 pub branch_filter: Option<String>,
23 #[serde(rename = "config")]
25 pub config: std::collections::HashMap<String, String>,
26 #[serde(rename = "events", skip_serializing_if = "Option::is_none")]
27 pub events: Option<Vec<String>>,
28 #[serde(rename = "type")]
29 pub r#type: Type,
30}
31
32impl CreateHookOption {
33 pub fn new(config: std::collections::HashMap<String, String>, r#type: Type) -> CreateHookOption {
35 CreateHookOption {
36 active: None,
37 authorization_header: None,
38 branch_filter: None,
39 config,
40 events: None,
41 r#type,
42 }
43 }
44}
45#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
47pub enum Type {
48 #[serde(rename = "dingtalk")]
49 Dingtalk,
50 #[serde(rename = "discord")]
51 Discord,
52 #[serde(rename = "gitea")]
53 Gitea,
54 #[serde(rename = "gogs")]
55 Gogs,
56 #[serde(rename = "msteams")]
57 Msteams,
58 #[serde(rename = "slack")]
59 Slack,
60 #[serde(rename = "telegram")]
61 Telegram,
62 #[serde(rename = "feishu")]
63 Feishu,
64 #[serde(rename = "wechatwork")]
65 Wechatwork,
66 #[serde(rename = "packagist")]
67 Packagist,
68}
69
70impl Default for Type {
71 fn default() -> Type {
72 Self::Dingtalk
73 }
74}
75