14 Commits

Author SHA1 Message Date
liuyun
489d7232e3 feat: user list search + current-user menu tree endpoint
- GET /auth/menus:当前用户菜单树(超管全量,非超管按角色 + 补祖先)
- 用户列表支持 username/nickname/phone/status 过滤(ListUserQuery)
- seed:菜单补图标、新增「权限管理」顶级分组(用户/角色/资源/组织),dashboard path 修正为 /

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-11 12:19:42 +08:00
liuyun
ce2aa35a24 fix: strip passwordHash from user API responses
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-10 23:22:43 +08:00
liuyun
7340658305 feat: enforce RBAC, audit/login logging, and seed script
收口 Phase 0 三处「声明未生效」:
- 三级鉴权落地:权限集存 Redis(key 前缀隔离多项目),@RequirePermissions 挂到全部受控接口,super_admin 角色绕过权限码与 data_scope
- 审计/登录日志自动落库:@AuditLog 装饰器 + 拦截器异步写入(写操作+登录登出),登录成功/失败均记 login_log(脱敏)
- seed 脚本:一键初始化租户 touyun/用户 touyun/超管 super_admin/全量资源树(48 资源全量授权)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-10 23:19:41 +08:00
liuyun
c680fb9dc7 feat: log request body (masked, debug level) and drop headers from request logs
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-10 22:13:33 +08:00
liuyun
2c4f3008cf feat: add source location (src) to logs for locating call sites
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-10 22:01:22 +08:00
liuyun
43dacdba11 feat: single-line pretty log output
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-10 21:52:34 +08:00
liuyun
f6fddb4a53 feat: use pino-pretty for readable dev logs (LOG_PRETTY, default true)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-10 21:49:34 +08:00
liuyun
0a0f999589 feat: log startup success and swagger address
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-10 21:47:12 +08:00
liuyun
2f839f714f chore: allow @scarf/scarf build script
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-10 21:39:43 +08:00
liuyun
24790e8985 feat: add Swagger API docs (/docs) with DTO schemas
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-10 21:39:37 +08:00
liuyun
bbc06ae775 feat: add pino structured logging (stdout + optional file via env)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-10 21:31:05 +08:00
liuyun
39a4e21eed fix: rename logs module to audit-logs/login-logs (avoid gitignore collision)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-10 21:25:57 +08:00
liuyun
d8d3055c73 feat: backend foundation (Prisma 6 + MySQL, auth, tenant/soft-delete/data-scope filters, core CRUD)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-10 21:13:35 +08:00
liuyun
dc40ca3343 chore: init sysmgr-nest (NestJS scaffold)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-10-10 14:03:17 +08:00