aboutsummaryrefslogtreecommitdiffstats
path: root/src/server/driver
diff options
context:
space:
mode:
authorrtkay123 <dev@kanjala.com>2026-02-02 13:05:49 +0200
committerrtkay123 <dev@kanjala.com>2026-02-02 13:05:49 +0200
commite06094f23ca861ea5ae4864d11fa8ce8b7d7aa2c (patch)
tree27bbff5fd21711f99aaf579a76b1a0aca7869003 /src/server/driver
parent78f61ccdf66572d7432b5b627994038479103653 (diff)
downloadsellershut-e06094f23ca861ea5ae4864d11fa8ce8b7d7aa2c.tar.bz2
sellershut-e06094f23ca861ea5ae4864d11fa8ce8b7d7aa2c.zip
feat: oauth route
Diffstat (limited to 'src/server/driver')
-rw-r--r--src/server/driver/mod.rs29
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!()
+ }
+}