cloudillo_push/
settings.rs1use crate::prelude::*;
7use cloudillo_core::settings::{
8 PermissionLevel, SettingDefinition, SettingScope, SettingValue, SettingsRegistry,
9};
10
11pub fn register_settings(registry: &mut SettingsRegistry) -> ClResult<()> {
13 registry.register(
15 SettingDefinition::builder("notify.push")
16 .description("Enable push notifications")
17 .default(SettingValue::Bool(true))
18 .scope(SettingScope::Tenant)
19 .permission(PermissionLevel::User)
20 .build()?,
21 )?;
22
23 registry.register(
25 SettingDefinition::builder("notify.push.message")
26 .description("Notify on direct messages")
27 .default(SettingValue::Bool(true))
28 .scope(SettingScope::Tenant)
29 .permission(PermissionLevel::User)
30 .build()?,
31 )?;
32
33 registry.register(
35 SettingDefinition::builder("notify.push.connection")
36 .description("Notify on connection requests")
37 .default(SettingValue::Bool(true))
38 .scope(SettingScope::Tenant)
39 .permission(PermissionLevel::User)
40 .build()?,
41 )?;
42
43 registry.register(
45 SettingDefinition::builder("notify.push.file_share")
46 .description("Notify when files are shared with you")
47 .default(SettingValue::Bool(true))
48 .scope(SettingScope::Tenant)
49 .permission(PermissionLevel::User)
50 .build()?,
51 )?;
52
53 registry.register(
55 SettingDefinition::builder("notify.push.follow")
56 .description("Notify when someone follows you")
57 .default(SettingValue::Bool(false))
58 .scope(SettingScope::Tenant)
59 .permission(PermissionLevel::User)
60 .build()?,
61 )?;
62
63 registry.register(
65 SettingDefinition::builder("notify.push.comment")
66 .description("Notify on comments to your posts")
67 .default(SettingValue::Bool(true))
68 .scope(SettingScope::Tenant)
69 .permission(PermissionLevel::User)
70 .build()?,
71 )?;
72
73 registry.register(
75 SettingDefinition::builder("notify.push.reaction")
76 .description("Notify on reactions to your posts")
77 .default(SettingValue::Bool(false))
78 .scope(SettingScope::Tenant)
79 .permission(PermissionLevel::User)
80 .build()?,
81 )?;
82
83 registry.register(
85 SettingDefinition::builder("notify.push.mention")
86 .description("Notify when you are mentioned in a post")
87 .default(SettingValue::Bool(true))
88 .scope(SettingScope::Tenant)
89 .permission(PermissionLevel::User)
90 .build()?,
91 )?;
92
93 registry.register(
95 SettingDefinition::builder("notify.push.post")
96 .description("Notify on new posts from people you follow")
97 .default(SettingValue::Bool(false))
98 .scope(SettingScope::Tenant)
99 .permission(PermissionLevel::User)
100 .build()?,
101 )?;
102
103 Ok(())
104}
105
106