Files
Sheep-Service/ws/services/buildings.service.js
Rozenrod 04f39da611 Змінено директорії
Додано скрипти CRON
Поліпшено механізм запису стендів та їх редагування
2025-10-27 00:11:18 +02:00

31 lines
1.2 KiB
JavaScript

const db = require("../config/db");
function updateBuilding(user, data) {
return new Promise((resolve, reject) => {
if (!user.possibilities.can_view_territory) {
return reject(new Error("Forbidden: no rights to manage territory"));
}
const sql = `
UPDATE buildings
SET status = ?, description = ?, sheep_id = ?, updated_at = ?
WHERE id = ?`;
db.run(sql, [Number(data.status), data.description, user.id, data.updated_at, data.id], function (err) {
if (err) return reject(err);
if (this.changes === 0) return reject(new Error("Building not found"));
const insertSql = `
INSERT INTO buildings_history
(buildings_id, status, description, sheep_id, created_at)
VALUES (?, ?, ?, ?, ?)`;
db.run(insertSql, [Number(data.id), Number(data.status), data.description, user.id, Date.now()], function (err) {
if (err) return reject(err);
resolve({ update: "ok", id: data.id, historyId: this.lastID });
});
});
});
}
module.exports = { updateBuilding };