merge commit

This commit is contained in:
2026-04-11 19:19:09 +07:00
12 changed files with 25 additions and 26 deletions

View File

@@ -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);

View File

@@ -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);

View File

@@ -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),
);

View File

@@ -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) {

View File

@@ -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 || {};

View File

@@ -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

View File

@@ -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) {

View File

@@ -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 = {

View File

@@ -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

View File

@@ -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({

View File

@@ -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) {

View File

@@ -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({