forked from UKSOURCE/cms.lams
feat: add programme module and blog integration
- Add Programme Mongoose model with sub-schemas and migrateFromJson static method - Add programme CRUD controller with audit logging and icon sanitization - Add programme admin views (index, edit) with tabbed form and dynamic arrays - Add seed migration script for programmes - Add /api/programmes and /api/programmes/:id public API endpoints - Register programme routes in admin and public router - Update dashboard with Programmes card and API endpoint entries - Update admin sidebar layout to include Programmes nav link
This commit is contained in:
@@ -26,6 +26,7 @@ const activityController = require("../controllers/activityController");
|
||||
const bookingSubmissionController = require("../controllers/bookingSubmissionController");
|
||||
const serviceController = require("../controllers/serviceController");
|
||||
const headerMenuController = require("../controllers/headerMenuController");
|
||||
const programmeController = require("../controllers/programmeController");
|
||||
|
||||
// Blog controllers
|
||||
const blogController = require("../controllers/blogController");
|
||||
@@ -523,6 +524,13 @@ router.delete(
|
||||
ensureAuthenticated,
|
||||
visaController.deleteCountry,
|
||||
);
|
||||
|
||||
// Programme Management
|
||||
router.get("/programme", ensureAuthenticated, programmeController.index);
|
||||
router.get("/programme/edit/:id", ensureAuthenticated, programmeController.edit);
|
||||
router.post("/programme/update/:id", ensureAuthenticated, upload.single('heroImage'), programmeController.update);
|
||||
router.post("/programme/delete/:id", ensureAuthenticated, programmeController.delete);
|
||||
|
||||
// Blog routes
|
||||
// Blog Management Routes
|
||||
router.get("/blog", ensureAuthenticated, blogController.index);
|
||||
|
||||
@@ -15,6 +15,7 @@ const headerMenuController = require("../controllers/headerMenuController");
|
||||
const safetyController = require("../controllers/safetyController");
|
||||
// Booking flow removed
|
||||
|
||||
const programmeController = require("../controllers/programmeController");
|
||||
const insuranceController = require("../controllers/insuranceController");
|
||||
const termsController = require("../controllers/termsController"); // <-- IMPORT ĐÃ CÓ
|
||||
const activityController = require("../controllers/activityController");
|
||||
@@ -183,6 +184,10 @@ router.get("/api/service-slugs", serviceController.getServiceSlugs);
|
||||
router.get("/api/visa", visaController.api);
|
||||
router.get("/api/visa/country", visaController.apiCountries);
|
||||
|
||||
// Programmes API
|
||||
router.get("/api/programmes", programmeController.api);
|
||||
router.get("/api/programmes/:id", programmeController.apiDetail);
|
||||
|
||||
// Testimonials API
|
||||
const testimonialController = require("../controllers/testimonialController");
|
||||
router.get("/api/testimonials", testimonialController.api);
|
||||
|
||||
Reference in New Issue
Block a user