diff --git a/controllers/aboutUsController.js b/controllers/aboutUsController.js index 9a4211a..847cacb 100644 --- a/controllers/aboutUsController.js +++ b/controllers/aboutUsController.js @@ -253,7 +253,7 @@ exports.getAbout = async (req, res) => { // =============================== const baseUrl = - process.env.BACKEND_URL || `${req.protocol}://${req.get("host")}`; + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; const processedData = addBaseUrlToImages(rawData, baseUrl); res.json(processedData); diff --git a/controllers/activityController.js b/controllers/activityController.js index dc1f9f0..4db7997 100644 --- a/controllers/activityController.js +++ b/controllers/activityController.js @@ -25,7 +25,7 @@ exports.api = async (req, res) => { try { // Return structured response with filters and camps const baseUrl = - process.env.BACKEND_URL || `${req.protocol}://${req.get("host")}`; + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; // Get filters document (single doc with isFiltersDoc:true) const filtersDoc = await Activity.findOne({ isFiltersDoc: true }).lean(); @@ -69,7 +69,7 @@ exports.apiDetail = async (req, res) => { } const baseUrl = - process.env.BACKEND_URL || `${req.protocol}://${req.get("host")}`; + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; const processed = addBaseUrlToImages(activity, baseUrl); return res.json(processed); @@ -618,7 +618,7 @@ exports.preview = async (req, res) => { } const baseUrl = - process.env.BACKEND_URL || `${req.protocol}://${req.get("host")}`; + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; const processed = addBaseUrlToImages(activity, baseUrl); res.json(processed); diff --git a/controllers/blogController.js b/controllers/blogController.js index dbe89ea..d6ceeec 100644 --- a/controllers/blogController.js +++ b/controllers/blogController.js @@ -445,7 +445,7 @@ exports.api = async (req, res) => { // Add base URL to images const baseUrl = - process.env.BACKEND_URL || `${req.protocol}://${req.get("host")}`; + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; const processedBlogs = blogs.map((blog) => addBaseUrlToImages(blog, baseUrl), ); @@ -515,7 +515,7 @@ exports.apiShow = async (req, res) => { // Add base URL to images const baseUrl = - process.env.BACKEND_URL || `${req.protocol}://${req.get("host")}`; + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; const processedBlog = addBaseUrlToImages(blog, baseUrl); res.json({ @@ -662,7 +662,7 @@ exports.apiRecent = async (req, res) => { // Add base URL to images const baseUrl = - process.env.BACKEND_URL || `${req.protocol}://${req.get("host")}`; + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; const processedPosts = recentPosts.map((post) => addBaseUrlToImages(post, baseUrl), ); diff --git a/controllers/contactController.js b/controllers/contactController.js index ecd4ea3..a1c3c28 100644 --- a/controllers/contactController.js +++ b/controllers/contactController.js @@ -22,7 +22,7 @@ exports.api = async (req, res) => { return res.status(404).json({ error: "Contact data not found" }); } const baseUrl = - process.env.BACKEND_URL || `${req.protocol}://${req.get("host")}`; + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; const processedData = addBaseUrlToImages(contact, baseUrl); res.json(processedData); } catch (err) { diff --git a/controllers/homeController.js b/controllers/homeController.js index 5f8bc22..6f9ccfd 100644 --- a/controllers/homeController.js +++ b/controllers/homeController.js @@ -445,10 +445,9 @@ exports.apiGetBlogs = async (req, res) => { }; exports.api = async (req, res) => { try { - // Chỉ dùng doc mới nhất, không merge nhiều docs - const doc = await getHomeDoc(); - let data = doc?.toObject() || {}; - const baseUrl = `${req.protocol}://${req.get("host")}`; + let data = await getHomeData(); + const baseUrl = + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; // === Xử lý Blog Preview động === const blogPreview = data.blogPreview || {}; diff --git a/controllers/insuranceController.js b/controllers/insuranceController.js index ba4a790..5978dbd 100644 --- a/controllers/insuranceController.js +++ b/controllers/insuranceController.js @@ -17,7 +17,7 @@ exports.api = async (req, res) => { // Sử dụng helper để thêm base URL vào đường dẫn ảnh const baseUrl = - process.env.BACKEND_URL || `${req.protocol}://${req.get("host")}`; + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; const processedData = addBaseUrlToImages(insuranceData, baseUrl); // Trả về trực tiếp hero, page, content (không wrap trong object) @@ -56,7 +56,7 @@ exports.getInsuranceData = async (req, res) => { // Thêm base URL vào đường dẫn ảnh const baseUrl = - process.env.BACKEND_URL || `${req.protocol}://${req.get("host")}`; + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; const processedData = addBaseUrlToImages(insuranceData, baseUrl); res.json({ @@ -93,7 +93,7 @@ exports.getByLanguage = async (req, res) => { // Thêm base URL vào đường dẫn ảnh const baseUrl = - process.env.BACKEND_URL || `${req.protocol}://${req.get("host")}`; + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; const processedData = addBaseUrlToImages(insuranceData, baseUrl); res.json({ @@ -196,7 +196,7 @@ exports.preview = async (req, res) => { // Thêm base URL vào đường dẫn ảnh cho preview const baseUrl = - process.env.BACKEND_URL || `${req.protocol}://${req.get("host")}`; + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; const processedHeroData = addBaseUrlToImages(heroData, baseUrl); // Render preview HTML diff --git a/controllers/safetyController.js b/controllers/safetyController.js index 953faa6..1cf4315 100644 --- a/controllers/safetyController.js +++ b/controllers/safetyController.js @@ -21,7 +21,7 @@ exports.api = async (req, res) => { return res.status(404).json({ error: "Safety data not found" }); } const baseUrl = - process.env.BACKEND_URL || `${req.protocol}://${req.get("host")}`; + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; const processedData = addBaseUrlToImages(safety, baseUrl); res.json(processedData); } catch (err) { diff --git a/controllers/serviceController.js b/controllers/serviceController.js index 9cf24a0..9b11b72 100644 --- a/controllers/serviceController.js +++ b/controllers/serviceController.js @@ -253,7 +253,7 @@ exports.api = async (req, res) => { try { const serviceData = await getServiceData(); const baseUrl = - process.env.BACKEND_URL || `${req.protocol}://${req.get("host")}`; + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; const processedData = addBaseUrlToImages(serviceData, baseUrl); res.json(processedData); @@ -291,7 +291,7 @@ exports.getServiceBySlug = async (req, res) => { } const baseUrl = - process.env.BACKEND_URL || `${req.protocol}://${req.get("host")}`; + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; // Return service details in the expected format const responseData = { diff --git a/controllers/termsController.js b/controllers/termsController.js index 79bd924..e170790 100644 --- a/controllers/termsController.js +++ b/controllers/termsController.js @@ -19,7 +19,7 @@ exports.api = async (req, res) => { // Sử dụng helper để thêm base URL vào đường dẫn ảnh // Truyền baseUrl từ request hoặc từ environment const baseUrl = - process.env.BACKEND_URL || `${req.protocol}://${req.get("host")}`; + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; const processedData = addBaseUrlToImages(termsData, baseUrl); res.json({ @@ -57,7 +57,7 @@ exports.getTermsData = async (req, res) => { // Thêm base URL vào đường dẫn ảnh const baseUrl = - process.env.BACKEND_URL || `${req.protocol}://${req.get("host")}`; + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; const processedData = addBaseUrlToImages(termsData, baseUrl); res.json({ @@ -91,7 +91,7 @@ exports.getByLanguage = async (req, res) => { // Thêm base URL vào đường dẫn ảnh const baseUrl = - process.env.BACKEND_URL || `${req.protocol}://${req.get("host")}`; + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; const processedData = addBaseUrlToImages(termsData, baseUrl); res.json({ @@ -326,7 +326,7 @@ exports.preview = async (req, res) => { // Thêm base URL vào đường dẫn ảnh cho preview const baseUrl = - process.env.BACKEND_URL || `${req.protocol}://${req.get("host")}`; + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; const processedHeroData = addBaseUrlToImages(heroData, baseUrl); // Render preview HTML diff --git a/controllers/travelController.js b/controllers/travelController.js index 834dde8..f4e6592 100644 --- a/controllers/travelController.js +++ b/controllers/travelController.js @@ -179,7 +179,7 @@ exports.api = exports.getTravelData = async (req, res) => { const travelObj = travel.toObject(); const baseUrl = - process.env.BACKEND_URL || `${req.protocol}://${req.get("host")}`; + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; const processed = addBaseUrlToImages(travelObj, baseUrl); return res.json({ diff --git a/controllers/videoGalleryController.js b/controllers/videoGalleryController.js index 7487812..c18297a 100644 --- a/controllers/videoGalleryController.js +++ b/controllers/videoGalleryController.js @@ -23,7 +23,7 @@ exports.api = async (req, res) => { return res.status(404).json({ error: "Video Gallery data not found" }); } const baseUrl = - process.env.BACKEND_URL || `${req.protocol}://${req.get("host")}`; + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; const processedData = addBaseUrlToImages(videoGallery, baseUrl); res.json(processedData); } catch (err) { diff --git a/controllers/visaController.js b/controllers/visaController.js index d20aa1c..61d1899 100644 --- a/controllers/visaController.js +++ b/controllers/visaController.js @@ -678,7 +678,7 @@ exports.apiHero = async (req, res) => { ); const baseUrl = - process.env.BACKEND_URL || `${req.protocol}://${req.get("host")}`; + process.env.BACKEND_URL ?? `${req.protocol}://${req.get("host")}`; const processedData = addBaseUrlToImages(heroData, baseUrl); return res.json({