mirror of
https://github.com/pawelmalak/flame.git
synced 2025-07-19 03:29:37 +02:00
33 lines
797 B
JavaScript
33 lines
797 B
JavaScript
|
const asyncWrapper = require('../../middleware/asyncWrapper');
|
||
|
const File = require('../../utils/File');
|
||
|
|
||
|
// @desc Update theme
|
||
|
// @route PUT /api/themes/:name
|
||
|
// @access Public
|
||
|
const updateTheme = asyncWrapper(async (req, res, next) => {
|
||
|
const file = new File('data/themes.json');
|
||
|
let content = JSON.parse(file.read());
|
||
|
|
||
|
let themeIdx = content.themes.findIndex((t) => t.name == req.params.name);
|
||
|
|
||
|
// theme found
|
||
|
if (themeIdx > -1) {
|
||
|
content.themes = [
|
||
|
...content.themes.slice(0, themeIdx),
|
||
|
req.body,
|
||
|
...content.themes.slice(themeIdx + 1),
|
||
|
];
|
||
|
}
|
||
|
|
||
|
file.write(content, true);
|
||
|
|
||
|
const userThemes = content.themes.filter((t) => t.isCustom);
|
||
|
|
||
|
res.status(200).json({
|
||
|
success: true,
|
||
|
data: userThemes,
|
||
|
});
|
||
|
});
|
||
|
|
||
|
module.exports = updateTheme;
|