/
Krams
/
nodemon2
Обзор
Документация
Войти
/
Krams
/
nodemon2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
backend/controllers/BlockController.js
79 строк
2 KB
Иван Новиков
init
11 июн 2026, 13:08
11 июн 2026, 13:08
900f716
Код
Авторство
О чём код?
import { getAllBlocksGrouped, updateBlock, getBlockById, getBlockLogsById, addBlockLog, deleteBlockLog, emitBlocksUpdateSafe, } from '../services/BlockService.js'; export async function getAllBlocksController(req, res) { try { const blocks = await getAllBlocksGrouped(); res.json(blocks); } catch (error) { res.status(500).json({ error: 'Ошибка при получении блоков' }); } } export async function updateBlockController(req, res) { const id = parseInt(req.params.id, 10); const { state, comment, workerId } = req.body; if (typeof state !== 'string') { return res.status(400).json({ error: 'Неверные данные' }); } try { const previous = await getBlockById(id); const result = await updateBlock(id, { state, comment }); if (result.changes === 0) { return res.status(404).json({ error: 'Блок не найден' }); } if (previous && workerId) { if ((previous.state || '') !== state) { await addBlockLog(id, workerId, `Состояние блока изменено: '${previous.state || ''}' → '${state}'`); } if ((previous.comment || '') !== comment) { await addBlockLog(id, workerId, `Комментарий блока изменён: '${previous.comment || ''}' → '${comment || ''}'`); } } await emitBlocksUpdateSafe(); res.json({ success: true }); } catch (error) { res.status(500).json({ error: 'Ошибка при обновлении блока' }); } } export async function getBlockByIdController(req, res) { const { id } = req.params; try { const block = await getBlockById(id); res.json(block); } catch (error) { res.status(404).json({ error: 'Блок не найден' }); } } export async function getBlockLogsByIdController(req, res) { const { id } = req.params; try { const blockLogs = await getBlockLogsById(id); res.json(blockLogs); } catch (error) { res.status(404).json({ error: 'Логи блока не найдены' }); } } export async function addBlockLogController(req, res) { const { blockId, workerId, log } = req.body; const logId = await addBlockLog(blockId, workerId, log); res.json(logId); } export async function deleteBlockLogController(req, res) { const { id } = req.params; const result = await deleteBlockLog(id); res.json(result); }