diff options
Diffstat (limited to 'src/db.rs')
-rw-r--r-- | src/db.rs | 17 |
1 files changed, 15 insertions, 2 deletions
@@ -14,12 +14,25 @@ fn is_initialized(conn: &mut Connection) -> Result<bool> { pub fn init(conn: &mut Connection) -> Result<()> { if !is_initialized(conn)? { info!("Initializing db..."); - conn.execute_batch(" + conn.execute_batch(r#" BEGIN; + CREATE TABLE IF NOT EXISTS users (username TEXT PRIMARY KEY, salt TEXT, passwd TEXT); + + CREATE TABLE IF NOT EXISTS acls + (username TEXT NOT NULL, + unit TEXT NOT NULL, + read BOOL, + change BOOL, + PRIMARY KEY (username, unit)); + + INSERT OR IGNORE INTO acls + (username, unit, read, change) VALUES + ('*', '*', 0, 0); + COMMIT; - ") + "#) .unwrap(); } Ok(()) |