email/email/envelope/flag/sync/
config.rs

1#[derive(Clone, Debug, Default, Eq, PartialEq)]
2#[cfg_attr(
3    feature = "derive",
4    derive(serde::Serialize, serde::Deserialize),
5    serde(rename_all = "kebab-case")
6)]
7pub struct FlagSyncConfig {
8    #[cfg_attr(feature = "derive", serde(default))]
9    pub permissions: FlagSyncPermissions,
10}
11
12#[derive(Clone, Debug, Eq, PartialEq)]
13#[cfg_attr(
14    feature = "derive",
15    derive(serde::Serialize, serde::Deserialize),
16    serde(rename_all = "kebab-case")
17)]
18pub struct FlagSyncPermissions {
19    #[cfg_attr(
20        feature = "derive",
21        serde(default = "FlagSyncPermissions::default_update")
22    )]
23    pub update: bool,
24}
25
26impl FlagSyncPermissions {
27    pub fn default_update() -> bool {
28        true
29    }
30}
31
32impl Default for FlagSyncPermissions {
33    fn default() -> Self {
34        Self {
35            update: Self::default_update(),
36        }
37    }
38}