Баллы +1 за загрузку, убраны из лайков. Админ-панель (admin/admin123)
This commit is contained in:
@@ -2,6 +2,7 @@ import initSqlJs, { Database as SqlJsDatabase } from 'sql.js';
|
||||
import fs from 'fs';
|
||||
import path from 'path';
|
||||
import { fileURLToPath } from 'url';
|
||||
import bcrypt from 'bcryptjs';
|
||||
|
||||
const __dirname = path.dirname(fileURLToPath(import.meta.url));
|
||||
const dbPath = path.join(__dirname, '..', 'data.db');
|
||||
@@ -26,10 +27,22 @@ export async function initDb(): Promise<SqlJsDatabase> {
|
||||
username TEXT UNIQUE NOT NULL,
|
||||
password_hash TEXT NOT NULL,
|
||||
points INTEGER DEFAULT 0,
|
||||
is_admin INTEGER DEFAULT 0,
|
||||
created_at TEXT DEFAULT (datetime('now'))
|
||||
)
|
||||
`);
|
||||
|
||||
// Add is_admin column if missing (existing DB migration)
|
||||
try { db.run('ALTER TABLE users ADD COLUMN is_admin INTEGER DEFAULT 0'); } catch {}
|
||||
|
||||
// Auto-create admin if not exists
|
||||
const admin = queryOne('SELECT id FROM users WHERE username = ?', ['admin']);
|
||||
if (!admin) {
|
||||
const hash = bcrypt.hashSync('admin123', 10);
|
||||
execute('INSERT INTO users (username, password_hash, is_admin) VALUES (?, ?, 1)', ['admin', hash]);
|
||||
console.log('Admin user created: admin / admin123');
|
||||
}
|
||||
|
||||
db.run(`
|
||||
CREATE TABLE IF NOT EXISTS cats (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
|
||||
Reference in New Issue
Block a user