v0.1.0-pre.020
This commit is contained in:
@@ -1,23 +1,70 @@
|
||||
// file: kb-config/src/lib.rs
|
||||
// version: 1
|
||||
// version: 3
|
||||
|
||||
#![forbid(unsafe_code)]
|
||||
#![deny(unreachable_pub)]
|
||||
//! Khadhroony Bot3 workspace configuration contract and loading helpers.
|
||||
#![warn(missing_docs)]
|
||||
#![deny(unreachable_pub)]
|
||||
#![forbid(unsafe_code)]
|
||||
|
||||
//! Configuration contracts for Khadhroony Bot3.
|
||||
mod settings;
|
||||
|
||||
/// Minimal application configuration used during the migration.
|
||||
#[derive(Clone, Debug, Eq, PartialEq)]
|
||||
pub struct AppConfig {
|
||||
/// Active profile name.
|
||||
pub active_profile: std::string::String,
|
||||
}
|
||||
|
||||
impl std::default::Default for AppConfig {
|
||||
fn default() -> Self {
|
||||
return Self {
|
||||
active_profile: std::string::String::from("development"),
|
||||
};
|
||||
}
|
||||
}
|
||||
/// Exposes the account listener configuration type.
|
||||
pub use self::settings::AccountListenerConfig;
|
||||
/// Exposes the root application configuration type.
|
||||
pub use self::settings::AppConfig;
|
||||
/// Exposes the application section configuration type.
|
||||
pub use self::settings::AppSectionConfig;
|
||||
/// Exposes the local data configuration type.
|
||||
pub use self::settings::DataConfig;
|
||||
/// Exposes the database configuration type.
|
||||
pub use self::settings::DatabaseConfig;
|
||||
/// Exposes the demo application configuration type.
|
||||
pub use self::settings::DemoConfig;
|
||||
/// Exposes the endpoint role configuration type.
|
||||
pub use self::settings::EndpointRoleConfig;
|
||||
/// Exposes the execution configuration type.
|
||||
pub use self::settings::ExecutionConfig;
|
||||
/// Exposes the HTTP endpoint configuration type.
|
||||
pub use self::settings::HttpEndpointConfig;
|
||||
/// Exposes the listener configuration type.
|
||||
pub use self::settings::ListenerConfig;
|
||||
/// Exposes the log listener configuration type.
|
||||
pub use self::settings::LogListenerConfig;
|
||||
/// Exposes the logging target configuration type.
|
||||
pub use self::settings::LogTargetConfig;
|
||||
/// Exposes the logging target filter configuration type.
|
||||
pub use self::settings::LogTargetFilterConfig;
|
||||
/// Exposes the logging configuration type.
|
||||
pub use self::settings::LoggingConfig;
|
||||
/// Exposes the PostgreSQL configuration type.
|
||||
pub use self::settings::PostgresConfig;
|
||||
/// Exposes the profile configuration type.
|
||||
pub use self::settings::ProfileConfig;
|
||||
/// Exposes the program listener configuration type.
|
||||
pub use self::settings::ProgramListenerConfig;
|
||||
/// Exposes the Solana configuration type.
|
||||
pub use self::settings::SolanaConfig;
|
||||
/// Exposes the SQLite configuration type.
|
||||
pub use self::settings::SqliteConfig;
|
||||
/// Exposes the wallet configuration type.
|
||||
pub use self::settings::WalletConfig;
|
||||
/// Exposes the WebSocket endpoint configuration type.
|
||||
pub use self::settings::WsEndpointConfig;
|
||||
/// Exposes the active profile resolver.
|
||||
pub use self::settings::active_profile;
|
||||
/// Exposes the embedded JSON Schema text.
|
||||
pub use self::settings::config_json_schema_text;
|
||||
/// Exposes the embedded JSON Schema value parser.
|
||||
pub use self::settings::config_json_schema_value;
|
||||
/// Exposes the configuration parser from a JSON string.
|
||||
pub use self::settings::parse_config_json;
|
||||
/// Exposes the configuration loader from a filesystem path.
|
||||
pub use self::settings::read_config_json_file;
|
||||
/// Exposes the compact JSON serializer for configuration values.
|
||||
pub use self::settings::serialize_config_json;
|
||||
/// Exposes the pretty JSON serializer for configuration values.
|
||||
pub use self::settings::serialize_config_json_pretty;
|
||||
/// Exposes the typed configuration validator.
|
||||
pub use self::settings::validate_config;
|
||||
/// Exposes the JSON Schema validator for raw JSON configuration.
|
||||
pub use self::settings::validate_config_json_schema;
|
||||
|
||||
1530
kb-config/src/settings.rs
Normal file
1530
kb-config/src/settings.rs
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user