Files
sts-avto-v2/modules/hero/index.js
kalugin66 11fb813a09
All checks were successful
Deploy sts / deploy-sber (push) Successful in 42s
модификация
2026-07-20 00:27:48 +05:00

34 lines
1.3 KiB
JavaScript

const { createCrudRoutes } = require('../database/crud');
let db;
function init(database) { db = database; }
function setupRoutes(app, auth) {
app.get('/api/admin/hero-settings', auth.authenticateToken, auth.requireAdmin, (req, res) => {
db.all(`SELECT * FROM hero_settings ORDER BY id`, (err, rows) => {
if (err) return res.status(500).json({ error: 'Ошибка БД' });
const obj = {};
rows.forEach(r => { obj[r.key] = r.value; });
res.json(obj);
});
});
app.put('/api/admin/hero-settings', auth.authenticateToken, auth.requireAdmin, (req, res) => {
const entries = req.body;
if (!entries || typeof entries !== 'object') return res.status(400).json({ error: 'Неверные данные' });
const stmt = db.prepare(`UPDATE hero_settings SET value = ? WHERE key = ?`);
let count = 0;
for (const [key, value] of Object.entries(entries)) {
stmt.run(value, key, function() { count++; });
}
stmt.finalize();
res.json({ message: 'Обновлено', updated: count });
});
createCrudRoutes(app, auth, 'hero_stats', {
fields: ['label', 'value', 'is_dynamic', 'sort_order']
});
}
module.exports = { init, setupRoutes };