bfcbe086f29d8fa893b1a45de5c16940db81f902
The global WriteAccessGuard was checking req.user.role, but req.user is set by JwtAuthGuard (a per-controller guard) which runs AFTER global guards. TenantMiddleware sets req.userRole from the JWT before guards execute, so we now check that property first. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Description
HOA Financial Intelligence Platform - Multi-tenant financial management for homeowner associations
Languages
TypeScript
97.6%
Shell
1.8%
PLpgSQL
0.2%
Dockerfile
0.2%
HTML
0.1%