diff options
Diffstat (limited to 'src/server/driver/mod.rs')
| -rw-r--r-- | src/server/driver/mod.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/server/driver/mod.rs b/src/server/driver/mod.rs new file mode 100644 index 0000000..4c540cb --- /dev/null +++ b/src/server/driver/mod.rs @@ -0,0 +1,29 @@ +use async_trait::async_trait; +use sqlx::PgPool; + +use crate::{config::DatabaseOptions, server::state::database}; + +pub struct Services { + database: PgPool, + // oauth: OauthClient, +} + +impl Services { + pub async fn new(database: &DatabaseOptions) -> anyhow::Result<Self> { + let database = database::connect(database).await?; + + Ok(Self { database }) + } +} + +#[async_trait] +pub trait SellershutDriver: Send + Sync + 'static { + async fn hello(&self); +} + +#[async_trait] +impl SellershutDriver for Services { + async fn hello(&self) { + todo!() + } +} |
