fcm_service/domain/
web_push_config.rs

1use std::{collections::HashMap, hash::RandomState};
2
3use serde::{Deserialize, Serialize};
4
5/// Configuration for web push notifications.
6#[derive(Clone, Debug, Serialize, Deserialize, Default)]
7pub struct WebpushConfig {
8    headers: Option<HashMap<String, String>>,
9    data: Option<HashMap<String, String>>,
10}
11
12impl WebpushConfig {
13    #[must_use]
14    pub fn new() -> Self {
15        Self {
16            ..Default::default()
17        }
18    }
19
20    #[must_use]
21    pub fn headers(&self) -> Option<&HashMap<String, String, RandomState>> {
22        self.headers.as_ref()
23    }
24
25    #[must_use]
26    pub fn data(&self) -> Option<&HashMap<String, String, RandomState>> {
27        self.data.as_ref()
28    }
29
30    pub fn set_headers(&mut self, headers: Option<HashMap<String, String>>) {
31        self.headers = headers;
32    }
33
34    pub fn set_data(&mut self, data: Option<HashMap<String, String>>) {
35        self.data = data;
36    }
37}