/
Krams
/
nodemon2
Обзор
Документация
Войти
/
Krams
/
nodemon2
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
backend/controllers/TodoController.js
55 строк
2 KB
Иван Новиков
init
15 апр 2026, 11:25
15 апр 2026, 11:25
9665e0e
Код
Авторство
О чём код?
import { getTodos, addTodo, toggleTodo, deleteTodo } from '../services/TodoService.js'; import { io } from '../socketServer.js'; export async function getAllTodosController(req, res) { try { const todos = await getTodos(); res.json(todos); } catch (e) { res.status(500).json({ error: 'Не удалось получить задачи' }); } } export async function createTodoController(req, res) { try { const { text } = req.body; if (!text || !text.trim()) return res.status(400).json({ error: 'Текст задачи обязателен' }); const todo = await addTodo(text.trim(), req.user?.id || null); try { const todos = await getTodos(); io.emit('todos_data', todos); } catch {} res.status(201).json(todo); } catch (e) { res.status(500).json({ error: 'Не удалось создать задачу' }); } } export async function toggleTodoController(req, res) { try { const { id } = req.params; const { completed } = req.body; await toggleTodo(Number(id), !!completed); try { const todos = await getTodos(); io.emit('todos_data', todos); } catch {} res.json({ success: true }); } catch (e) { res.status(500).json({ error: 'Не удалось обновить задачу' }); } } export async function deleteTodoController(req, res) { try { const { id } = req.params; await deleteTodo(Number(id)); try { const todos = await getTodos(); io.emit('todos_data', todos); } catch {} res.json({ success: true }); } catch (e) { res.status(500).json({ error: 'Не удалось удалить задачу' }); } }