use crate::models;
use serde::{Deserialize, Serialize};
#[derive(Clone, Debug, PartialEq, Serialize, Deserialize)]
#[serde(untagged)]
pub enum Recipient {
OperatorRecipient(Box<models::OperatorRecipient>),
AudienceRecipient(Box<models::AudienceRecipient>),
RedeliveryRecipient(Box<models::RedeliveryRecipient>),
}
impl Default for Recipient {
fn default() -> Self {
Self::OperatorRecipient(Box::new(Default::default()))
}
}
impl From<models::OperatorRecipient> for Recipient {
fn from(value: models::OperatorRecipient) -> Self {
Recipient::OperatorRecipient(Box::new(value))
}
}
impl From<models::AudienceRecipient> for Recipient {
fn from(value: models::AudienceRecipient) -> Self {
Recipient::AudienceRecipient(Box::new(value))
}
}
impl From<models::RedeliveryRecipient> for Recipient {
fn from(value: models::RedeliveryRecipient) -> Self {
Recipient::RedeliveryRecipient(Box::new(value))
}
}