bookforge/src/state/mod.rs

27 lines
637 B
Rust
Raw Normal View History

2026-01-26 01:05:10 +01:00
use sea_orm::{Database, DatabaseConnection};
use snafu::prelude::*;
use crate::state::config::AppConfig;
use error::*;
pub mod config;
pub mod error;
#[derive(Clone, Debug)]
pub struct AppState {
pub config: AppConfig,
pub db: DatabaseConnection,
}
impl AppState {
pub async fn new() -> Result<Self, AppStateError> {
let config: AppConfig = AppConfig::new().await.context(ConfigSnafu)?;
let db: DatabaseConnection =
Database::connect(format!("sqlite:{}?mode=rwc", &config.database_path))
.await
.context(SqliteSnafu)?;
Ok(Self { config, db })
}
}