feat(admin): GitHub OAuth login, admin whitelist and Nuxt WebUI

Add an admin WebUI (Nuxt static SPA in admin/, served via the ASSETS
binding) for managing routes and viewing send logs. Access is gated by
GitHub OAuth plus an ADMIN_USER_IDS whitelist with cookie sessions
(admin-session.ts). Expose routes/logs CRUD API (admin-routes.ts), add a
discord-link mapping in token-store.ts, and mount admin routes with an
SPA assets fallback in the server.
This commit is contained in:
RhenCloud 2026-08-02 06:50:41 +08:00
parent cfdf37e273
commit 407514f3c9
No known key found for this signature in database
GPG key ID: A574A617378C4E0B
20 changed files with 3242 additions and 13 deletions

15
admin/package.json Normal file
View file

@ -0,0 +1,15 @@
{
"name": "webhooker-admin",
"private": true,
"type": "module",
"scripts": {
"dev": "nuxt dev",
"build": "nuxt build",
"generate": "nuxt generate",
"preview": "nuxt preview"
},
"dependencies": {
"nuxt": "^3.21.10",
"vue": "^3.5.13"
}
}