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