use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
pub struct EventNotification {
#[serde(rename = "expand", skip_serializing_if = "Option::is_none")]
pub expand: Option<String>,
#[serde(rename = "id", skip_serializing_if = "Option::is_none")]
pub id: Option<i64>,
#[serde(rename = "notificationType", skip_serializing_if = "Option::is_none")]
pub notification_type: Option<NotificationType>,
#[serde(rename = "parameter", skip_serializing_if = "Option::is_none")]
pub parameter: Option<String>,
#[serde(rename = "group", skip_serializing_if = "Option::is_none")]
pub group: Option<Box<models::GroupName>>,
#[serde(rename = "field", skip_serializing_if = "Option::is_none")]
pub field: Option<Box<models::FieldDetails>>,
#[serde(rename = "emailAddress", skip_serializing_if = "Option::is_none")]
pub email_address: Option<String>,
#[serde(rename = "projectRole", skip_serializing_if = "Option::is_none")]
pub project_role: Option<Box<models::ProjectRole>>,
#[serde(rename = "user", skip_serializing_if = "Option::is_none")]
pub user: Option<Box<models::UserDetails>>,
}
impl EventNotification {
pub fn new() -> EventNotification {
EventNotification {
expand: None,
id: None,
notification_type: None,
parameter: None,
group: None,
field: None,
email_address: None,
project_role: None,
user: None,
}
}
}
#[derive(Clone, Copy, Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Serialize, Deserialize)]
pub enum NotificationType {
#[serde(rename = "CurrentAssignee")]
CurrentAssignee,
#[serde(rename = "Reporter")]
Reporter,
#[serde(rename = "CurrentUser")]
CurrentUser,
#[serde(rename = "ProjectLead")]
ProjectLead,
#[serde(rename = "ComponentLead")]
ComponentLead,
#[serde(rename = "User")]
User,
#[serde(rename = "Group")]
Group,
#[serde(rename = "ProjectRole")]
ProjectRole,
#[serde(rename = "EmailAddress")]
EmailAddress,
#[serde(rename = "AllWatchers")]
AllWatchers,
#[serde(rename = "UserCustomField")]
UserCustomField,
#[serde(rename = "GroupCustomField")]
GroupCustomField,
}
impl Default for NotificationType {
fn default() -> NotificationType {
Self::CurrentAssignee
}
}