use std::sync::Arc;
use crate::{config::AppConfig, database::DatabaseManager, error::Error};
pub struct AppContext {
pub config: AppConfig,
pub db_manager: DatabaseManager,
}
impl AppContext {
pub async fn init() -> Result<Arc<Self>, Error> {
let app_config = AppConfig::init()?;
let db_config = app_config.botcat_capoo.database.to_owned();
let db_manager = DatabaseManager::new(db_config).await?;
Ok(Arc::new(Self {
config: app_config,
db_manager,
}))
}
}