const cmsService = require('../services/cms.service'); exports.list = async (req, res, next) => { try { res.json({ pages: await cmsService.list() }); } catch (error) { next(error); } }; exports.getBySlug = async (req, res, next) => { try { res.json({ page: await cmsService.getBySlug(req.params.slug) }); } catch (error) { next(error); } }; exports.update = async (req, res, next) => { try { res.json({ page: await cmsService.update(req.params.slug, req.body, req.admin._id, req.ip) }); } catch (error) { next(error); } }; exports.getVersions = async (req, res, next) => { try { res.json(await cmsService.getVersions(req.params.slug)); } catch (error) { next(error); } }; exports.rollback = async (req, res, next) => { try { const page = await cmsService.rollback(req.params.slug, Number(req.params.versionIndex), req.admin._id, req.ip); res.json({ page, message: 'Page rolled back successfully.' }); } catch (error) { next(error); } };