const express = require("express"); const path = require("path"); const router = express.Router(); const homeController = require("../controllers/homeController"); const aboutUsController = require("../controllers/aboutUsController"); const partnershipsController = require("../controllers/partnershipsController"); const historyPageController = require("../controllers/historyPageController"); const accreditationController = require("../controllers/accreditationController"); const admissionsController = require("../controllers/admissionsController"); const policiesController = require("../controllers/policiesController"); const headerController = require("../controllers/headerController"); const socialLinkController = require("../controllers/socialLinkController"); const footerController = require("../controllers/footerController"); const contactController = require("../controllers/contactController"); const studentSupportController = require("../controllers/studentSupportController"); const requestInfoController = require("../controllers/requestInfoController"); const faqController = require("../controllers/faqController"); const headerMenuController = require("../controllers/headerMenuController"); const safetyController = require("../controllers/safetyController"); const programmeController = require("../controllers/programmeController"); const insuranceController = require("../controllers/insuranceController"); const termsController = require("../controllers/termsController"); // <-- IMPORT ĐÃ CÓ const activityController = require("../controllers/activityController"); // Blog controllers const blogController = require("../controllers/blogController"); const blogCategoryController = require("../controllers/blogCategoryController"); const blogTagController = require("../controllers/blogTagController"); // Trang chủ router.get("/", (req, res) => { res.render("index", { title: "Welcome", layout: "layouts/main", }); }); // API để lấy dữ liệu trang chủ router.get("/api/home", homeController.api); // API để lấy dữ liệu about router.get("/api/about", aboutUsController.getAbout); router.put("/api/about", aboutUsController.updateAbout); router.get("/api/partnerships", partnershipsController.api); router.get("/api/history", historyPageController.api); router.get("/api/accreditation", accreditationController.api); router.get("/api/admissions", admissionsController.api); router.get("/api/policies", policiesController.api); // Public about-us page and API (legacy support) router.get("/about-us", aboutUsController.getAbout); router.get("/api/about-us", aboutUsController.getAbout); // Header API route router.get("/api/header", headerController.api); // Header Menu New Module API router.get("/api/header-menu", headerMenuController.api); // Social Links API routes router.get("/api/social-links", socialLinkController.index); router.get("/api/social-links/:platform", socialLinkController.show); // Footer API routes router.get("/api/footer", footerController.getFooter); router.put("/api/admin/footer", footerController.updateFooter); // Contact API route router.get("/api/contact", contactController.api); // Student Support page (public API for frontend LAMS) router.get("/api/student-support", studentSupportController.api); // Request Info page (public API for frontend LAMS) router.get("/api/request-info", requestInfoController.api); // Contact form submission (public) router.post("/api/contact/submit", contactController.submitForm); router.get("/api/faq", faqController.api); // Safety API route router.get("/api/safety", safetyController.api); // Activity API routes router.get("/api/activities", activityController.api); router.get("/api/activities/:id", activityController.apiDetail); // Insurance APi route router.get("/api/insurance", insuranceController.api); router.get("/api/terms", termsController.api); // Blog API Routes router.get("/api/blog", blogController.api); router.get("/api/blog/featured", blogController.apiFeatured); router.get("/api/blog/recent", blogController.apiRecent); // Blog Categories API (must come before /api/blog/:slug) router.get("/api/blog/categories", blogCategoryController.api); router.get("/api/blog/categories/:slug", blogCategoryController.apiShow); // Blog Tags API (must come before /api/blog/:slug) router.get("/api/blog/tags", blogTagController.api); router.get("/api/blog/tags/popular", blogTagController.apiPopular); router.get("/api/blog/tags/:slug", blogTagController.apiShow); // Blog post specific APIs (must come before /api/blog/:slug) router.get("/api/blog/:id/categories", blogController.apiCategories); router.get("/api/blog/:id/tags", blogController.apiTags); // Blog comments (must come before /api/blog/:slug) router.post("/api/blog/:slug/comments", blogController.apiCreateComment); // Blog detail by slug (must come last among blog routes) router.get("/api/blog/:slug", blogController.apiShow); // // API route cho blog detail // router.get('/api/blog-detail', blogDetailController.api); // 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); // Video Gallery API const videoGalleryController = require("../controllers/videoGalleryController"); router.get("/api/video-gallery", videoGalleryController.api); // Test route for footer router.get("/test-footer", (req, res) => { res.render("test-footer", { title: "Footer Test", layout: "layouts/main", }); }); module.exports = router;