feat: ticket create - sub-server selector
- ticket-create.js: added 子服务器 dropdown (group/server from /polls/server-list, supports anonymous users), sends 'server' field - tickets.js POST: accept server param, resolve 'group/server' or alias/server_name from server_groups, store into tickets.server_name - polls.js: new public GET /server-list (group_name+server_name only, no auth required) for ticket create page - verified: 13 checks (frontend/backend/db/column/syntax)
This commit is contained in:
@@ -33,6 +33,13 @@ router.get('/groups', authenticate, async (req, res) => {
|
||||
res.json(await query('SELECT * FROM server_groups ORDER BY group_name, server_name'));
|
||||
});
|
||||
|
||||
// 公开: 子服务器列表(工单提交页匿名/登录共用, 不含别名等内部字段)
|
||||
router.get('/server-list', async (req, res) => {
|
||||
try {
|
||||
res.json(await query('SELECT group_name, server_name FROM server_groups ORDER BY group_name, server_name'));
|
||||
} catch { res.json([]); }
|
||||
});
|
||||
|
||||
router.post('/groups', authenticate, requireRole('owner'), async (req, res) => {
|
||||
const { group_name, server_name, alias } = req.body;
|
||||
if (!group_name || !server_name) return res.status(400).json({ error: '分组名和子服名为必填' });
|
||||
|
||||
Reference in New Issue
Block a user