import Database from 'better-sqlite3'; import jsSHA from 'jssha'; const db = new Database('./src/lib/data/tatort.db'); let createSQLStmt = `CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, pw TEXT NOT NULL)`; db.exec(createSQLStmt); // check if there are any users; if not add one default admin one let password = 'pass-123'; let hashedPassword = new jsSHA('SHA-512', 'TEXT').update(password).getHash('HEX'); let checkInsertSQLStmt = `INSERT INTO users (name, pw) SELECT 'admin', '${hashedPassword}' WHERE NOT EXISTS (SELECT * FROM users);`; db.exec(checkInsertSQLStmt); let usersSQLStmt = `SELECT * FROM USERS`; let SQLStatement = db.prepare(usersSQLStmt); console.log(`\n`, `*** Users table`); for (const usr of SQLStatement.iterate()) { console.log(`[r] ${usr.name} + ${usr.pw}`); } // cases table createSQLStmt = `CREATE TABLE IF NOT EXISTS cases (id INTEGER PRIMARY KEY AUTOINCREMENT, token TEXT NOT NULL UNIQUE, name TEXT NOT NULL UNIQUE, pw TEXT NOT NULL)`; db.exec(createSQLStmt); let casesSQLStmt = `SELECT * FROM cases`; SQLStatement = db.prepare(casesSQLStmt); console.log(`\n`, `*** Cases table`); for (const usr of SQLStatement.iterate()) { console.log(`[r] ${usr.name} + ${usr.token} + ${usr.pw}`); } db.close();