summaryrefslogtreecommitdiffstats
path: root/src/bin/server/database.rs
diff options
context:
space:
mode:
authorsalmonik <raisersoft@proton.me>2026-02-28 21:10:20 +0100
committersalmonik <raisersoft@proton.me>2026-02-28 21:10:20 +0100
commit9e3757eea25b71461c45521dd1ef6c17be34744f (patch)
tree74f598beb0ccf8370c920031df7b981294bcdefe /src/bin/server/database.rs
parentfolder restructuring (diff)
downloadzagan-bet-9e3757eea25b71461c45521dd1ef6c17be34744f.tar.gz
zagan-bet-9e3757eea25b71461c45521dd1ef6c17be34744f.zip
Revert "folder restructuring"
This reverts commit 17082597464198fe84be80313b7d51e1e57de639.
Diffstat (limited to 'src/bin/server/database.rs')
-rw-r--r--src/bin/server/database.rs31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/bin/server/database.rs b/src/bin/server/database.rs
new file mode 100644
index 0000000..9c51997
--- /dev/null
+++ b/src/bin/server/database.rs
@@ -0,0 +1,31 @@
1use rusqlite::Connection;
2
3pub fn init_db() -> Connection {
4 let conn = Connection::open("server.db").unwrap();
5 conn.execute(
6 "CREATE TABLE IF NOT EXISTS users (
7 username TEXT PRIMARY KEY,
8 hashed_password TEXT NOT NULL
9 )",
10 [],
11 ).unwrap();
12 conn
13}
14
15pub fn add_user(conn: &Connection, username: &str, hashed_password: &str) -> Result<(), Box<dyn std::error::Error>> {
16 conn.execute(
17 "INSERT INTO users (username, hashed_password) VALUES (?1, ?2)",
18 [username, hashed_password],
19 )?;
20 Ok(())
21}
22
23pub fn get_hashed_password(conn: &Connection, username: &str) -> Option<String> {
24 let mut stmt = conn.prepare("SELECT hashed_password FROM users WHERE username = ?1").unwrap();
25 let mut rows = stmt.query([username]).unwrap();
26 if let Ok(Some(row)) = rows.next() {
27 row.get(0).ok()
28 } else {
29 None
30 }
31}