|
|
import blogModel from "../models/blogModel.js"; import blogImage from "../models/blogImage.js";
// Get all blogs with images
export const getAllBlogs = async (req, res) => { try { const blogs = await blogModel.findAll({ include: [{ model: blogImage }] }); res.json(blogs); } catch (error) { res.status(500).json({ message: error.message }); } };
// Get a single blog by ID
export const getBlogById = async (req, res) => { try { const blog = await blogModel.findByPk(req.params.id, { include: [{ model: blogImage }] }); if (!blog) return res.status(404).json({ message: "Blog not found" }); res.json(blog); } catch (error) { res.status(500).json({ message: error.message }); } };
// Create a new blog
export const createBlog = async (req, res) => { const { title, description, images } = req.body; try { const blog = await blogModel.create({ title, description }); if (images && images.length > 0) { await blogImage.bulkCreate(images.map(imageUrl => ({ blogId: blog.id, imageUrl }))); } res.status(201).json(blog); } catch (error) { res.status(500).json({ message: error.message }); } };
// Update a blog
export const updateBlog = async (req, res) => { try { const blog = await blogModel.findByPk(req.params.id); if (!blog) return res.status(404).json({ message: "Blog not found" }); await blog.update(req.body); res.json(blog); } catch (error) { res.status(500).json({ message: error.message }); } };
// Delete a blog
export const deleteBlog = async (req, res) => { try { const blog = await blogModel.findByPk(req.params.id); if (!blog) return res.status(404).json({ message: "Blog not found" }); await blog.destroy(); res.json({ message: "Blog deleted successfully" }); } catch (error) { res.status(500).json({ message: error.message }); } };
|