From b047dbc5d894fd2e79c77230bf38c485f0e1f832 Mon Sep 17 00:00:00 2001 From: wangziqi Date: Thu, 2 Jul 2026 11:56:10 +0800 Subject: [PATCH] chore: check off Tasks 4-7 (all controllers decorated) --- .../plans/2026-07-02-rbac-refactor.md | 6 ++--- openspec/changes/rbac-refactor/tasks.md | 22 +++++++++---------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/docs/superpowers/plans/2026-07-02-rbac-refactor.md b/docs/superpowers/plans/2026-07-02-rbac-refactor.md index 176d804..2625ea4 100644 --- a/docs/superpowers/plans/2026-07-02-rbac-refactor.md +++ b/docs/superpowers/plans/2026-07-02-rbac-refactor.md @@ -1458,7 +1458,7 @@ git commit -m "feat(rbac): register RbacModule and PermissionGuard in AppModule" - Consumes: `@RequirePermission` (Task 3) - Produces: 所有业务接口受权限守卫保护 -- [ ] **Step 1: 为各 Controller 添加 @RequirePermission** +- [x] **Step 1: 为各 Controller 添加 @RequirePermission** 对每个 Controller,在已有的 `@UseGuards(JwtAuthGuard)` 基础上,为每个路由方法添加 `@RequirePermission` 装饰器。权限码映射如下: @@ -1545,7 +1545,7 @@ async remove(...) { ... } - `bills.controller.ts` 中 `exportExcel` 需要 `bill:export-excel`,`exportPdf` 需要 `bill:export-pdf` - `dashboard.controller.ts` 和 `operation-logs.controller.ts` 的类级别加 `@RequirePermission('dashboard:view')` 和 `@RequirePermission('log:view')` 可以减少重复 -- [ ] **Step 2: 编译验证** +- [x] **Step 2: 编译验证** ```bash cd backend && npx tsc --noEmit @@ -1553,7 +1553,7 @@ cd backend && npx tsc --noEmit 预期:无类型错误。所有 Controller 的装饰器正确引用。 -- [ ] **Step 3: Commit** +- [x] **Step 3: Commit** ```bash git add backend/src/students/ backend/src/rooms/ backend/src/occupancies/ backend/src/expenses/ backend/src/bills/ backend/src/deposits/ backend/src/classrooms/ backend/src/tenants/ backend/src/classroom-rentals/ backend/src/dashboard/ backend/src/operation-logs/ diff --git a/openspec/changes/rbac-refactor/tasks.md b/openspec/changes/rbac-refactor/tasks.md index 3ea3c48..61643ca 100644 --- a/openspec/changes/rbac-refactor/tasks.md +++ b/openspec/changes/rbac-refactor/tasks.md @@ -25,17 +25,17 @@ ## 4. 现有接口批量加守卫 -- [ ] 4.1 StudentsController:全部方法加 @RequirePermission -- [ ] 4.2 RoomsController:全部方法加 @RequirePermission -- [ ] 4.3 OccupanciesController:全部方法加 @RequirePermission -- [ ] 4.4 ExpensesController:全部方法加 @RequirePermission -- [ ] 4.5 BillsController:全部方法加 @RequirePermission -- [ ] 4.6 DepositsController:全部方法加 @RequirePermission -- [ ] 4.7 ClassroomsController:全部方法加 @RequirePermission -- [ ] 4.8 TenantsController:全部方法加 @RequirePermission -- [ ] 4.9 ClassroomRentalsController:全部方法加 @RequirePermission -- [ ] 4.10 DashboardController:全部方法加 @RequirePermission -- [ ] 4.11 OperationLogsController:全部方法加 @RequirePermission +- [x] 4.1 StudentsController:全部方法加 @RequirePermission +- [x] 4.2 RoomsController:全部方法加 @RequirePermission +- [x] 4.3 OccupanciesController:全部方法加 @RequirePermission +- [x] 4.4 ExpensesController:全部方法加 @RequirePermission +- [x] 4.5 BillsController:全部方法加 @RequirePermission +- [x] 4.6 DepositsController:全部方法加 @RequirePermission +- [x] 4.7 ClassroomsController:全部方法加 @RequirePermission +- [x] 4.8 TenantsController:全部方法加 @RequirePermission +- [x] 4.9 ClassroomRentalsController:全部方法加 @RequirePermission +- [x] 4.10 DashboardController:全部方法加 @RequirePermission +- [x] 4.11 OperationLogsController:全部方法加 @RequirePermission - [x] 4.12 AuthController(用户管理部分):分离为用户管理接口,加 @RequirePermission;移除原 register 接口的旧逻辑 ## 5. 前端权限基础设施