blob: e9a5d1fa233b7adc1f602932103fc3cebae4fcf5 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
use rusqlite::{Connection};
use std;
use auth::HashedPassword;
type Result<T> = std::result::Result<T, String>;
fn is_initialized(conn: &mut Connection) -> Result<bool> {
Ok(false)
}
pub fn init(conn: &mut Connection) -> Result<()> {
if !is_initialized(conn)? {
info!("Initializing db...");
conn.execute_batch("
BEGIN;
CREATE TABLE IF NOT EXISTS users
(username TEXT PRIMARY KEY, salt TEXT, passwd TEXT);
COMMIT;
").unwrap();
}
Ok(())
}
pub fn insert_user(conn: &mut Connection,
username: &str,
password: &HashedPassword) -> Result<()> {
conn.execute("INSERT INTO users (username, salt, passwd)
VALUES (?1, ?2, ?3)",
&[&username, &password.salt, &password.enc]).unwrap();
Ok(())
}
|