const session = require('express-session'); const { db } = require('./db'); const sessionMiddleware = session({ secret: process.env.SESSION_SECRET || 'hotel-secret-key-change-me', resave: false, saveUninitialized: false, cookie: { secure: false, httpOnly: true, maxAge: 24 * 60 * 60 * 1000 } }); function ensureAdmin() { const login = process.env.ADMIN_LOGIN || 'admin'; const password = process.env.ADMIN_PASSWORD || 'admin'; // Таблица admins уже создана в db.js, можно сразу искать const admin = db.prepare('SELECT id FROM admins WHERE login = ?').get(login); if (admin) { // Обновить пароль при каждом старте db.prepare('UPDATE admins SET password = ? WHERE login = ?').run(password, login); console.log(`Пароль администратора "${login}" обновлён`); } else { // Создать запись db.prepare('INSERT INTO admins (login, password) VALUES (?, ?)').run(login, password); console.log(`Администратор "${login}" создан`); } } function requireAdmin(req, res, next) { if (req.session && req.session.isAdmin) { return next(); } res.status(401).json({ error: 'Не авторизован' }); } module.exports = { sessionMiddleware, ensureAdmin, requireAdmin };