push-messaging 0.1.1

Push Messaging package
Documentation
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()
}