57 lines
1.3 KiB
JavaScript
57 lines
1.3 KiB
JavaScript
const express = require('express');
|
|
const router = express.Router();
|
|
const { settings, getDefaultSettings } = require('../db');
|
|
|
|
/**
|
|
* Get all settings
|
|
* GET /api/settings
|
|
*/
|
|
router.get('/', async (req, res) => {
|
|
try {
|
|
const currentSettings = await settings.get();
|
|
res.json(currentSettings);
|
|
} catch (err) {
|
|
console.error('Error getting settings:', err);
|
|
res.status(500).json({ error: err.message });
|
|
}
|
|
});
|
|
|
|
/**
|
|
* Update settings (partial update)
|
|
* PUT /api/settings
|
|
*/
|
|
router.put('/', async (req, res) => {
|
|
try {
|
|
const updates = req.body;
|
|
const updatedSettings = await settings.update(updates);
|
|
res.json(updatedSettings);
|
|
} catch (err) {
|
|
console.error('Error updating settings:', err);
|
|
res.status(500).json({ error: err.message });
|
|
}
|
|
});
|
|
|
|
/**
|
|
* Reset settings to defaults
|
|
* DELETE /api/settings
|
|
*/
|
|
router.delete('/', async (req, res) => {
|
|
try {
|
|
const defaultSettings = await settings.reset();
|
|
res.json(defaultSettings);
|
|
} catch (err) {
|
|
console.error('Error resetting settings:', err);
|
|
res.status(500).json({ error: err.message });
|
|
}
|
|
});
|
|
|
|
/**
|
|
* Get default settings (for reference)
|
|
* GET /api/settings/defaults
|
|
*/
|
|
router.get('/defaults', (req, res) => {
|
|
res.json(getDefaultSettings());
|
|
});
|
|
|
|
module.exports = router;
|