cloudillo_core/
core_settings.rs1use crate::prelude::*;
6use crate::settings::{
7 PermissionLevel, SettingDefinition, SettingScope, SettingValue, SettingsRegistry,
8};
9
10pub fn register_settings(registry: &mut SettingsRegistry) -> ClResult<()> {
12 registry.register(
14 SettingDefinition::builder("server.registration_enabled")
15 .description("Allow new user registrations")
16 .default(SettingValue::Bool(true))
17 .scope(SettingScope::Global)
18 .permission(PermissionLevel::Admin)
19 .build()?,
20 )?;
21
22 registry.register(
24 SettingDefinition::builder("ui.*")
25 .description("User interface settings and preferences")
26 .scope(SettingScope::Tenant)
27 .permission(PermissionLevel::User)
28 .optional(true)
29 .build()?,
30 )?;
31
32 registry.register(
34 SettingDefinition::builder("app.*")
35 .description("Application-specific settings and state")
36 .scope(SettingScope::Tenant)
37 .permission(PermissionLevel::User)
38 .optional(true)
39 .build()?,
40 )?;
41
42 Ok(())
43}
44
45