Spaces:
Running
Running
File size: 1,297 Bytes
634b9bb | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | const SiteSettings = require('../models/siteSettingsModel');
exports.getSettings = async (req, res) => {
try {
const settings = await SiteSettings.getSettings();
res.status(200).json({
status: 'success',
data: { settings },
});
} catch (err) {
res.status(500).json({
status: 'error',
message: err.message,
});
}
};
exports.updateSettings = async (req, res) => {
try {
// getSettings handles finding or creating
let settings = await SiteSettings.getSettings();
// Update fields
if (req.body.checkout) {
settings.checkout = { ...settings.checkout.toObject(), ...req.body.checkout };
}
// Add other settings updates here as needed (topBar, footer, etc.)
if (req.body.topBar) settings.topBar = { ...settings.topBar.toObject(), ...req.body.topBar };
if (req.body.footer) settings.footer = { ...settings.footer.toObject(), ...req.body.footer };
await settings.save();
res.status(200).json({
status: 'success',
data: { settings },
});
} catch (err) {
res.status(500).json({
status: 'error',
message: err.message,
});
}
};
|