//! # Push notification status API use serde::Serialize; use crate::data::user_token::PushNotificationToken; #[derive(Serialize)] pub struct PushNotificationsStatusAPI { pub status: String, pub independent_push_token: Option, } impl PushNotificationsStatusAPI { pub fn new(t: &PushNotificationToken) -> Self { Self { status: match t { PushNotificationToken::UNDEFINED => "undefined", PushNotificationToken::NONE => "disabled", PushNotificationToken::INDEPENDENT(_) => "independent", PushNotificationToken::FIREBASE(_) => "firebase", }.to_string(), independent_push_token: match t { PushNotificationToken::INDEPENDENT(i) => Some(i.to_string()), _ => None, }, } } }