forked from UKSOURCE/cms.lams
feat(admin): implement unified submission and newsletter management
Introduce a centralized system to manage all website form submissions and newsletter subscriptions. - Add `Submission` and `NewsletterSubscription` models with MongoDB schema validation - Implement `submissionController` and `newsletterSubscriptionController` for CRUD operations and filtering - Create a unified admin UI for reviewing submissions across different sources (home, request, contact, partnership, newsletter) - Add database migration scripts for creating collections and indexes - Refactor partnership inquiry forms to use a fixed field structure - Update admin navigation and server CORS settings to support PATCH requests
This commit is contained in:
@@ -14,6 +14,8 @@ const footerController = require("../controllers/footerController");
|
||||
const contactController = require("../controllers/contactController");
|
||||
const studentSupportController = require("../controllers/studentSupportController");
|
||||
const requestInfoController = require("../controllers/requestInfoController");
|
||||
const submissionController = require("../controllers/submissionController");
|
||||
const newsletterSubscriptionController = require("../controllers/newsletterSubscriptionController");
|
||||
|
||||
const headerMenuController = require("../controllers/headerMenuController");
|
||||
const programmeController = require("../controllers/programmeController");
|
||||
@@ -64,6 +66,8 @@ router.get("/api/request-info", requestInfoController.api);
|
||||
|
||||
// Contact form submission (public)
|
||||
router.post("/api/contact/submit", contactController.submitForm);
|
||||
router.post("/api/submissions", submissionController.create);
|
||||
router.post("/api/newsletter/subscribe", newsletterSubscriptionController.subscribe);
|
||||
|
||||
// Blog API Routes
|
||||
router.get("/api/blog", blogController.api);
|
||||
|
||||
Reference in New Issue
Block a user