/
ruscreator
/
Webed
Обзор
Документация
Войти
/
ruscreator
/
Webed
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
backend/src/controllers/articleController.js
88 строк
3 KB
Алексей Слепов
Initial commit
17 фев 2025, 15:15
17 фев 2025, 15:15
63a31d6
Код
Авторство
О чём код?
const { Article, User, Tag } = require('../models'); module.exports = { // Получить все статьи getAll: async (req, res) => { try { const articles = await Article.findAll({ include: [{ model: User, as: 'author', attributes: ['id', 'username'] }], order: [['createdAt', 'DESC']] }); res.json(articles); } catch (error) { console.error('Error fetching articles:', error); res.status(500).json({ message: 'Ошибка при получении статей' }); } }, // Получить одну статью getOne: async (req, res) => { try { const article = await Article.findByPk(req.params.id, { include: [{ model: User, as: 'author', attributes: ['id', 'username'] }, { model: Tag, through: { attributes: [] } }] }); if (!article) { return res.status(404).json({ message: 'Статья не найдена' }); } res.json(article); } catch (error) { console.error('Error fetching article:', error); res.status(500).json({ message: 'Ошибка при получении статьи' }); } }, // Создать статью create: async (req, res) => { try { const article = await Article.create(req.body); res.status(201).json(article); } catch (error) { console.error('Error creating article:', error); res.status(500).json({ message: 'Ошибка при создании статьи' }); } }, // Обновить статью update: async (req, res) => { try { const article = await Article.findByPk(req.params.id); if (!article) { return res.status(404).json({ message: 'Статья не найдена' }); } await article.update(req.body); res.json(article); } catch (error) { console.error('Error updating article:', error); res.status(500).json({ message: 'Ошибка при обновлении статьи' }); } }, // Удалить статью delete: async (req, res) => { try { const article = await Article.findByPk(req.params.id); if (!article) { return res.status(404).json({ message: 'Статья не найдена' }); } await article.destroy(); res.status(204).send(); } catch (error) { console.error('Error deleting article:', error); res.status(500).json({ message: 'Ошибка при удалении статьи' }); } } };