aboutsummaryrefslogtreecommitdiff
path: root/server/src/database.rs
diff options
context:
space:
mode:
authormetamuffin <metamuffin@disroot.org>2023-01-18 21:49:11 +0100
committermetamuffin <metamuffin@disroot.org>2023-01-18 21:49:11 +0100
commitfbc1128f30438a4e18521073eb1bb79a77a7f20d (patch)
tree94c0a41f6d3a4309944a05eb4aaff5ab2e3d24e4 /server/src/database.rs
parentaaf7b47547e7dd43efb4da2f2790745521cd6eea (diff)
downloadjellything-fbc1128f30438a4e18521073eb1bb79a77a7f20d.tar
jellything-fbc1128f30438a4e18521073eb1bb79a77a7f20d.tar.bz2
jellything-fbc1128f30438a4e18521073eb1bb79a77a7f20d.tar.zst
first steps for registration
Diffstat (limited to 'server/src/database.rs')
-rw-r--r--server/src/database.rs20
1 files changed, 17 insertions, 3 deletions
diff --git a/server/src/database.rs b/server/src/database.rs
index 3ba8c52..8574189 100644
--- a/server/src/database.rs
+++ b/server/src/database.rs
@@ -1,13 +1,27 @@
+use std::path::PathBuf;
+
use anyhow::Context;
+use log::info;
+use typed_sled::Tree;
-#[derive(Debug)]
pub struct Database {
pub db: sled::Db,
+ pub users: Tree<String, User>,
+}
+
+pub struct User {
+ pub name: String,
+ pub display_name: String,
+ pub password: Vec<u8>,
}
impl Database {
- pub fn open(path: &str) -> Result<Self, anyhow::Error> {
+ pub fn open(path: &PathBuf) -> Result<Self, anyhow::Error> {
+ info!("opening database… (takes O(n) time sadly)");
let db = sled::open(path).context("opening database")?;
- Ok(Self { db })
+ Ok(Self {
+ users: typed_sled::Tree::open(&db, "users"),
+ db,
+ })
}
}