fix(api): Add WorkspaceGuard to controllers and fix route ordering #111

Closed
jason.woltje wants to merge 0 commits from fix/controller-guards into develop
Owner

Summary

Fixes High priority issues from code review.

Controllers Fixed (7)

  • events.controller.ts
  • domains.controller.ts
  • projects.controller.ts
  • ideas.controller.ts
  • layouts.controller.ts
  • tags.controller.ts
  • activity.controller.ts

Changes

  1. Proper guards: @UseGuards(AuthGuard, WorkspaceGuard, PermissionGuard)
  2. Workspace decorator: Replaced manual req.user?.workspaceId with @Workspace()
  3. Permission decorators: Added @RequirePermission() for proper RBAC
  4. CurrentUser decorator: Cleaner user access

Route Ordering Fixes

  • layouts.controller.ts: @Get("default") moved before @Get(":id")
  • auth.controller.ts: @Get("profile") moved before @All("*")

Impact

  • All endpoints now properly validate workspace access
  • Role permissions enforced
  • No more route collisions
## Summary Fixes **High** priority issues from code review. ## Controllers Fixed (7) - events.controller.ts - domains.controller.ts - projects.controller.ts - ideas.controller.ts - layouts.controller.ts - tags.controller.ts - activity.controller.ts ## Changes 1. **Proper guards**: `@UseGuards(AuthGuard, WorkspaceGuard, PermissionGuard)` 2. **Workspace decorator**: Replaced manual `req.user?.workspaceId` with `@Workspace()` 3. **Permission decorators**: Added `@RequirePermission()` for proper RBAC 4. **CurrentUser decorator**: Cleaner user access ## Route Ordering Fixes - `layouts.controller.ts`: `@Get("default")` moved before `@Get(":id")` - `auth.controller.ts`: `@Get("profile")` moved before `@All("*")` ## Impact - All endpoints now properly validate workspace access - Role permissions enforced - No more route collisions
jason.woltje added 1 commit 2026-01-30 02:16:10 +00:00
jason.woltje closed this pull request 2026-01-30 03:04:04 +00:00

Pull request closed

Sign in to join this conversation.