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