UNPKG

mira-app-server

Version:

Mira Server - standalone server application using mira-app-core

42 lines 1.7 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SettingsRouter = void 0; const express_1 = require("express"); class SettingsRouter { constructor(backend, authRouter) { this.backend = backend; this.authRouter = authRouter; this.router = (0, express_1.Router)(); this.setupRoutes(); } setupRoutes() { // 获取服务器设置 this.router.get('/', (req, res) => { const settings = this.backend.settingsManager.getSettings(); res.json({ code: 0, data: settings }); }); // 更新服务器设置(需要 admin 权限) this.router.put('/', this.authRouter.authMiddleware(), async (req, res) => { const user = req.user; if (!user || (user.role !== 'super' && user.role !== 'admin')) { return res.status(403).json({ code: 403, message: 'Admin access required' }); } try { const { authRequired, allowRegistration } = req.body; const updated = await this.backend.settingsManager.updateSettings({ ...(authRequired !== undefined && { authRequired: !!authRequired }), ...(allowRegistration !== undefined && { allowRegistration: !!allowRegistration }), }); res.json({ code: 0, data: updated }); } catch (error) { res.status(500).json({ code: 500, message: 'Failed to update settings' }); } }); } getRouter() { return this.router; } } exports.SettingsRouter = SettingsRouter; //# sourceMappingURL=SettingsRouter.js.map