27 lines
802 B
JavaScript
27 lines
802 B
JavaScript
const express = require('express')
|
|
const fs = require('fs/promises')
|
|
const path = require('path')
|
|
const yaml = require('js-yaml')
|
|
|
|
const router = express.Router()
|
|
|
|
router.post('/api/config', async (req, res) => {
|
|
try {
|
|
// Get the raw YAML content from the request body
|
|
const yamlContent = req.body
|
|
|
|
// Validate the YAML by trying to parse it
|
|
yaml.load(yamlContent)
|
|
|
|
// Write to the config file
|
|
const configPath = path.join(process.cwd(), 'public', 'config.yaml')
|
|
await fs.writeFile(configPath, yamlContent, 'utf8')
|
|
|
|
res.status(200).json({ message: 'Configuration updated successfully' })
|
|
} catch (error) {
|
|
console.error('Error updating configuration:', error)
|
|
res.status(500).json({ error: 'Failed to update configuration' })
|
|
}
|
|
})
|
|
|
|
module.exports = router
|