const Blog = require("../Model/blogModel"); const AppError = require("../utils/appError"); const catchAsync = require("../utils/catchAsync"); exports.createBlogItem = catchAsync(async (req, res, next) => { const blogItem = await Blog.create({ title: req.body.title, description: req.body.description, videoLink: req.body.videoLink, }); res.status(201).json({ status: "success", data: blogItem }); }); exports.getAllBlogItem = catchAsync(async (req, res, next) => { let data = await Blog.find(); res.status(201).json({ status: "success", data, }); }); exports.getOneBlogItem = catchAsync(async (req, res, next) => { const data = await Blog.findById(req.params.id).populate("review"); res.status(201).json({ status: "success", data, }); }); exports.changeOneBlogItem = catchAsync(async (req, res, next) => { let amendedData = {}; amendedData.title = req.body.title; amendedData.description = req.body.description; amendedData.videoLink = req.body.videoLink; const data = await Blog.findByIdAndUpdate(req.params.id, amendedData, { new: true, runValidators: true, }); res.status(201).json({ status: "success", data, }); }); exports.deleteOneBlogItem = catchAsync(async (req, res, next) => { await Blog.findByIdAndDelete(req.params.id); res.status(201).json({ status: "success", data: null, }); });