pub struct AppConfig {
pub version: String,
pub settings: GlobalSettings,
pub users: Vec<UserConfig>,
pub accounts: Vec<AccountConfig>,
}Expand description
Top-level application configuration.
Fields§
§version: StringApplication version.
settings: GlobalSettingsGlobal settings.
users: Vec<UserConfig>User configurations (for multi-user support).
accounts: Vec<AccountConfig>Account configurations (for single-user mode, backwards compatible).
Implementations§
Source§impl AppConfig
impl AppConfig
Sourcepub fn from_file(path: impl AsRef<Path>) -> Result<Self, ConfigError>
pub fn from_file(path: impl AsRef<Path>) -> Result<Self, ConfigError>
Loads configuration from a JSON file.
Sourcepub fn from_json(json: &str) -> Result<Self, ConfigError>
pub fn from_json(json: &str) -> Result<Self, ConfigError>
Parses configuration from a JSON string.
Sourcepub fn to_json(&self) -> Result<String, ConfigError>
pub fn to_json(&self) -> Result<String, ConfigError>
Serializes configuration to JSON.
Sourcepub fn get_account(&self, id: &str) -> Option<&AccountConfig>
pub fn get_account(&self, id: &str) -> Option<&AccountConfig>
Gets an account by ID (searches both direct accounts and user accounts).
Sourcepub fn get_user(&self, id: &str) -> Option<&UserConfig>
pub fn get_user(&self, id: &str) -> Option<&UserConfig>
Gets a user by ID.
Sourcepub fn all_accounts(&self) -> impl Iterator<Item = &AccountConfig>
pub fn all_accounts(&self) -> impl Iterator<Item = &AccountConfig>
Returns all accounts from all users plus direct accounts.
Sourcepub fn active_users(&self) -> impl Iterator<Item = &UserConfig>
pub fn active_users(&self) -> impl Iterator<Item = &UserConfig>
Returns all active users.
Sourcepub fn validate(&self) -> Result<(), ConfigError>
pub fn validate(&self) -> Result<(), ConfigError>
Validates the configuration.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for AppConfig
impl<'de> Deserialize<'de> for AppConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Forget for AppConfig
impl Freeze for AppConfig
impl Move for AppConfig
impl RefUnwindSafe for AppConfig
impl Send for AppConfig
impl Sync for AppConfig
impl Unpin for AppConfig
impl UnsafeUnpin for AppConfig
impl UnwindSafe for AppConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more