Files
cms.uldp.edu.vn/models/home.js
r2xrzh9q2z-lab d1b931d547 first commit
2026-02-02 11:07:09 +07:00

177 lines
5.4 KiB
JavaScript

const mongoose = require('mongoose');
const homeSchema = new mongoose.Schema({
// New structure - Camp data
hero: {
title: { type: String, default: '' },
description: { type: String, default: '' },
backgroundImage: { type: String, default: '' },
button: {
label: { type: String, default: 'Book Your Adventure' },
href: { type: String, default: '/booking' }
},
contactBox: {
welcomeText: { type: String, default: '' },
phone: {
label: { type: String, default: 'Call us' },
number: { type: String, default: '' },
href: { type: String, default: '' }
},
email: {
label: { type: String, default: 'Email' },
address: { type: String, default: '' },
href: { type: String, default: '' }
},
workingHours: {
label: { type: String, default: 'Working Hours' },
hours: { type: String, default: '' }
}
}
},
about: {
title: { type: String, default: '' },
subtitle: { type: String, default: '' },
description: { type: String, default: '' },
images: {
mainImage1: { type: String, default: '' },
mainImage2: { type: String, default: '' },
avatars: [{ type: String }]
},
features: [{ type: String }],
quote: { type: String, default: '' },
button: {
label: { type: String, default: '' },
href: { type: String, default: '' }
},
stats: {
customerCount: { type: Number, default: 0 },
customerLabel: { type: String, default: '' }
}
},
missionVision: {
title: { type: String, default: '' },
subtitle: { type: String, default: '' },
backgroundImage: { type: String, default: '' },
cards: [{
title: { type: String, default: '' },
description: { type: String, default: '' }
}]
},
whyChooseUs: {
title: { type: String, default: '' },
subtitle: { type: String, default: '' },
description: { type: String, default: '' },
button: {
label: { type: String, default: '' },
href: { type: String, default: '' }
},
features: [{
title: { type: String, default: '' },
description: { type: String, default: '' }
}],
tags: [{ type: String }],
cta: {
text: { type: String, default: '' },
linkText: { type: String, default: '' },
linkHref: { type: String, default: '' }
}
},
activities: {
cards: [{
title: { type: String, default: '' },
description: { type: String, default: '' },
image: { type: String, default: '' }
}]
},
faq: {
title: { type: String, default: '' },
subtitle: { type: String, default: '' },
description: { type: String, default: '' },
image: { type: String, default: '' },
contact: {
title: { type: String, default: '' },
info: { type: String, default: '' }
},
questions: [{
question: { type: String, default: '' },
answer: { type: String, default: '' }
}]
},
partners: {
title: { type: String, default: '' },
subtitle: { type: String, default: '' },
backgroundImage: { type: String, default: '' },
logos: [{ type: String }],
cta: {
badge: { type: String, default: '' },
text: { type: String, default: '' },
linkText: { type: String, default: '' },
linkHref: { type: String, default: '' }
}
},
programs: {
title: { type: String, default: '' },
subtitle: { type: String, default: '' },
button: {
label: { type: String, default: '' },
href: { type: String, default: '' }
},
card: {
pricePrefix: { type: String, default: 'from' },
priceSuffix: { type: String, default: 'USD' },
buttonLabel: { type: String, default: 'Camp Detail' },
buttonHref: { type: String, default: '/camp-profiles' }
},
items: [{
id: { type: String, default: '' },
title: { type: String, default: '' },
price: { type: String, default: '' },
seasons: [{ type: String }],
age: { type: String, default: '' },
location: { type: String, default: '' },
image: { type: String, default: '' },
slug: { type: String, default: '' }
}]
},
newsletter: {
title: { type: String, default: '' },
subtitle: { type: String, default: '' },
description: { type: String, default: '' },
image: { type: String, default: '' },
decorativeImage: { type: String, default: '' },
button: {
label: { type: String, default: '' },
placeholder: { type: String, default: '' },
href: { type: String, default: '' }
}
},
latestPosts: {
title: { type: String, default: '' },
subtitle: { type: String, default: '' },
searchPlaceholder: { type: String, default: '' },
sidebarTitle: { type: String, default: '' },
blogPosts: [{
id: { type: Number },
image: { type: String, default: '' },
title: { type: String, default: '' },
description: { type: String, default: '' },
date: { type: String, default: '' }
}],
sidebarPosts: [{
id: { type: Number },
image: { type: String, default: '' },
title: { type: String, default: '' },
description: { type: String, default: '' }
}],
featuredCard: {
image: { type: String, default: '' },
title: { type: String, default: '' },
description: { type: String, default: '' }
}
}
}, {
timestamps: true
});
module.exports = mongoose.model('Home', homeSchema);