46 lines
1.3 KiB
JavaScript
46 lines
1.3 KiB
JavaScript
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();
|