use builder_pattern::Builder;
use serde::{Serialize, Deserialize};
use serde_with::skip_serializing_none;
#[skip_serializing_none]
#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize, Builder)]
pub struct Notification {
#[into]
pub title: String,
#[into]
#[default(None)]
pub body: Option<String>,
#[into]
#[default(flutter_notification_click())]
pub click_action: String,
#[into]
#[default(None)]
pub badge: Option<String>,
#[into]
#[default(None)]
pub body_loc_args: Option<Vec<String>>,
#[into]
#[default(None)]
pub body_loc_key: Option<String>,
#[into]
#[default(None)]
pub color: Option<String>,
#[into]
#[default(None)]
pub icon: Option<String>,
#[into]
#[default(None)]
pub sound: Option<String>,
#[into]
#[default(None)]
pub tag: Option<String>,
#[into]
#[default(None)]
pub title_loc_args: Option<Vec<String>>,
#[into]
#[default(None)]
pub title_loc_key: Option<String>,
}
fn flutter_notification_click() -> String {
"FLUTTER_NOTIFICATION_CLICK".to_string()
}