use crate::prelude::*;
use crate::settings::{
PermissionLevel, SettingDefinition, SettingScope, SettingValue, SettingsRegistry,
};
pub fn register_settings(registry: &mut SettingsRegistry) -> ClResult<()> {
registry.register(
SettingDefinition::builder("server.registration_enabled")
.description("Allow new user registrations")
.default(SettingValue::Bool(true))
.scope(SettingScope::Global)
.permission(PermissionLevel::Admin)
.build()?,
)?;
registry.register(
SettingDefinition::builder("ui.*")
.description("User interface settings and preferences")
.scope(SettingScope::Tenant)
.permission(PermissionLevel::User)
.optional(true)
.build()?,
)?;
registry.register(
SettingDefinition::builder("app.*")
.description("Application-specific settings and state")
.scope(SettingScope::Tenant)
.permission(PermissionLevel::User)
.optional(true)
.build()?,
)?;
Ok(())
}