jira_api_v2/models/
event_notification.rs1use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
16pub struct EventNotification {
17 #[serde(rename = "expand", skip_serializing_if = "Option::is_none")]
19 pub expand: Option<String>,
20 #[serde(rename = "id", skip_serializing_if = "Option::is_none")]
22 pub id: Option<i64>,
23 #[serde(rename = "notificationType", skip_serializing_if = "Option::is_none")]
25 pub notification_type: Option<NotificationType>,
26 #[serde(rename = "parameter", skip_serializing_if = "Option::is_none")]
28 pub parameter: Option<String>,
29 #[serde(rename = "group", skip_serializing_if = "Option::is_none")]
31 pub group: Option<Box<models::GroupName>>,
32 #[serde(rename = "field", skip_serializing_if = "Option::is_none")]
34 pub field: Option<Box<models::FieldDetails>>,
35 #[serde(rename = "emailAddress", skip_serializing_if = "Option::is_none")]
37 pub email_address: Option<String>,
38 #[serde(rename = "projectRole", skip_serializing_if = "Option::is_none")]
40 pub project_role: Option<Box<models::ProjectRole>>,
41 #[serde(rename = "user", skip_serializing_if = "Option::is_none")]
43 pub user: Option<Box<models::UserDetails>>,
44}
45
46impl EventNotification {
47 pub fn new() -> EventNotification {
49 EventNotification {
50 expand: None,
51 id: None,
52 notification_type: None,
53 parameter: None,
54 group: None,
55 field: None,
56 email_address: None,
57 project_role: None,
58 user: None,
59 }
60 }
61}
62#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
64pub enum NotificationType {
65 #[serde(rename = "CurrentAssignee")]
66 CurrentAssignee,
67 #[serde(rename = "Reporter")]
68 Reporter,
69 #[serde(rename = "CurrentUser")]
70 CurrentUser,
71 #[serde(rename = "ProjectLead")]
72 ProjectLead,
73 #[serde(rename = "ComponentLead")]
74 ComponentLead,
75 #[serde(rename = "User")]
76 User,
77 #[serde(rename = "Group")]
78 Group,
79 #[serde(rename = "ProjectRole")]
80 ProjectRole,
81 #[serde(rename = "EmailAddress")]
82 EmailAddress,
83 #[serde(rename = "AllWatchers")]
84 AllWatchers,
85 #[serde(rename = "UserCustomField")]
86 UserCustomField,
87 #[serde(rename = "GroupCustomField")]
88 GroupCustomField,
89}
90
91impl Default for NotificationType {
92 fn default() -> NotificationType {
93 Self::CurrentAssignee
94 }
95}
96