feat: POST /admin/demo-seed — admin can trigger demo data seeding and see the raw error
This commit is contained in:
@@ -77,7 +77,7 @@ const server = http.createServer(async (req, res) => {
|
||||
}
|
||||
|
||||
// ---- 管理(仅 is_admin 登录会话) ----
|
||||
if (route === '/admin/users' || route === '/admin/invites' || route.startsWith('/admin/invites/')) {
|
||||
if (route === '/admin/users' || route === '/admin/invites' || route === '/admin/demo-seed' || route.startsWith('/admin/invites/')) {
|
||||
let auth;
|
||||
try { auth = authUser(req); }
|
||||
catch (e) { return send(e.code || 401, false, e.message); }
|
||||
@@ -156,6 +156,16 @@ const server = http.createServer(async (req, res) => {
|
||||
if (!r.changes) return send(404, false, '邀请码不存在');
|
||||
return send(200, true, { deleted: r.changes });
|
||||
}
|
||||
if (req.method === 'POST' && route === '/admin/demo-seed') {
|
||||
const demoRow = db.prepare('SELECT id FROM users WHERE username=?').get('demo');
|
||||
if (!demoRow) return send(404, false, 'demo 账号不存在');
|
||||
try {
|
||||
const r = commandsFor(demoRow.id).handleCommand('demo_seed', {});
|
||||
return send(200, true, r);
|
||||
} catch (e) {
|
||||
return send(500, false, 'demo_seed 失败: ' + (e.message || String(e)));
|
||||
}
|
||||
}
|
||||
return send(404, false, 'not found');
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user