use crate::{ db::{self, Data}, prelude::*, }; use thiserror::Error; #[derive(Clone)] pub struct State { db: Data, } impl State { pub async fn try_new( database_connection_string: &str, database_reset: bool, ) -> Result { Ok(Self { db: Data::try_new(database_connection_string, database_reset).await?, }) } } #[derive(Error, Debug)] pub enum NewStateError { #[error("database error: {0}")] Database(#[from] db::NewDataError), }