fcm_service/domain/
apns_config.rs

1use std::{collections::HashMap, hash::RandomState};
2
3use serde::{Deserialize, Serialize};
4use serde_json::Value;
5
6/// Configuration for Apple Push Notification Service (APNs).
7#[derive(Serialize, Deserialize, Default)]
8pub struct ApnsConfig {
9    headers: Option<HashMap<String, String>>,
10    payload: Option<HashMap<String, serde_json::Value>>,
11}
12
13impl ApnsConfig {
14    pub fn new() -> Self {
15        Self {
16            ..Default::default()
17        }
18    }
19
20    pub fn headers(&self) -> Option<&HashMap<String, String, RandomState>> {
21        self.headers.as_ref()
22    }
23
24    pub fn payload(&self) -> Option<&HashMap<String, Value, RandomState>> {
25        self.payload.as_ref()
26    }
27
28    pub fn set_headers(&mut self, headers: Option<HashMap<String, String>>) {
29        self.headers = headers;
30    }
31
32    pub fn set_payload(&mut self, payload: Option<HashMap<String, serde_json::Value>>) {
33        self.payload = payload;
34    }
35}