forked from UKSOURCE/cms.hailearning.edu.vn
first commit
This commit is contained in:
177
models/home.js
Normal file
177
models/home.js
Normal file
@@ -0,0 +1,177 @@
|
||||
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);
|
||||
Reference in New Issue
Block a user