feat(admin): add user-level direct permission system and enhance activity tracking

Features:
- Add user_permissions table for direct user-to-permission grants (ops:user-ops)
- Merge role_permissions + user_permissions in auth chain (login, middleware, getCurrentUser)
- Add getUserQueryScope support for USER role with ops:user-ops (cross-tenant access)
- Unify cross-tenant operation checks via getUserQueryScope (remove hardcoded SUPER_ADMIN checks)
- Add 3 new API endpoints: GET/PUT /:id/permissions, GET /options/permissions
- Support ops:user-ops as alternative permission on all user/tenant management routes
- Frontend: add user-ops permission toggle on UserFormPage and UserDetailPage
- Enhance DC module activity tracking (StreamAIController, SessionController, QuickActionController)
- Fix DC AIController user ID extraction and feature name consistency
- Add verify-activity-tracking.ts validation script
- Update deployment checklist and admin module documentation

DB Migration: 20260309_add_user_permissions_table

Made-with: Cursor
This commit is contained in:
2026-03-10 09:02:35 +08:00
parent 971e903acf
commit 097e7920ab
19 changed files with 693 additions and 87 deletions

View File

@@ -13,6 +13,7 @@
"prisma:studio": "prisma studio",
"prisma:seed": "tsx prisma/seed.ts",
"test:sms": "tsx scripts/test-aliyun-sms.ts",
"test:tracking": "tsx scripts/verify-activity-tracking.ts",
"iit:equery:dedupe": "tsx scripts/dedupe_open_equeries.ts",
"iit:equery:dedupe:apply": "tsx scripts/dedupe_open_equeries.ts --apply",
"iit:guard:check": "tsx scripts/validate_guard_types_for_project.ts",