35 lines
1006 B
JavaScript
35 lines
1006 B
JavaScript
const Database = require('better-sqlite3');
|
|
const path = require('path');
|
|
|
|
const dbPath = path.join(__dirname, 'database.sqlite');
|
|
const db = new Database(dbPath);
|
|
|
|
// Initialize tables
|
|
db.exec(`
|
|
CREATE TABLE IF NOT EXISTS documents (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
title TEXT NOT NULL,
|
|
original_path TEXT NOT NULL,
|
|
processed_path TEXT NOT NULL,
|
|
created_at DATETIME DEFAULT CURRENT_TIMESTAMP
|
|
);
|
|
|
|
CREATE TABLE IF NOT EXISTS users (
|
|
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
username TEXT UNIQUE NOT NULL,
|
|
password TEXT NOT NULL
|
|
);
|
|
`);
|
|
|
|
// Create default admin user if not exists
|
|
// The password here is a hash for "123456"
|
|
const checkUser = db.prepare('SELECT * FROM users WHERE username = ?').get('admin');
|
|
if (!checkUser) {
|
|
const bcrypt = require('bcryptjs');
|
|
const salt = bcrypt.genSaltSync(10);
|
|
const hash = bcrypt.hashSync('123456', salt);
|
|
db.prepare('INSERT INTO users (username, password) VALUES (?, ?)').run('admin', hash);
|
|
}
|
|
|
|
module.exports = db;
|