Skip to content

feat: tenant dashboard with role-based routing (Story 20.5)#369

Merged
daveharmswebdev merged 1 commit intomainfrom
story/20-5-tenant-dashboard-role-routing
Apr 16, 2026
Merged

feat: tenant dashboard with role-based routing (Story 20.5)#369
daveharmswebdev merged 1 commit intomainfrom
story/20-5-tenant-dashboard-role-routing

Conversation

@daveharmswebdev
Copy link
Copy Markdown
Owner

Summary

  • Backend: New GetTenantProperty query returning lean property data (name, address) for tenant users via GET /api/v1/maintenance-requests/tenant-property
  • Frontend: New tenant-dashboard feature module with dashboard (property card + maintenance request list with status badges, pagination) and request detail view (description, status, photos, dismissal reason)
  • Routing: New tenantGuard, updated ownerGuard/guestGuard for role-based routing — tenants route to /tenant on login, landlords unaffected
  • Navigation: Sidebar and bottom nav conditionally show tenant-only items; shell skips receipt/SignalR initialization for tenant users
  • Security: Tenant role check in GetTenantPropertyQueryHandler, receipt loading skipped for tenants

Test plan

  • Backend unit tests: 4 handler tests (valid property, not found, null PropertyId, non-tenant role)
  • Frontend unit tests: 32+ tests across tenant-dashboard store, components, guards, nav, shell, login
  • E2E tests: 212/213 passing (1 pre-existing flaky in expense-linking)
  • Both dotnet build and ng build succeed
  • Playwright smoke test: landlord login routes to /dashboard, landlord accessing /tenant redirected back

🤖 Generated with Claude Code

Implement tenant-facing dashboard showing property info and maintenance
requests, with role-based routing that directs tenants to /tenant on login
while preserving the existing landlord experience.

Backend: new GetTenantProperty query returning lean property data for tenants.
Frontend: tenant-dashboard feature module, tenantGuard, updated ownerGuard/
guestGuard, conditional navigation for Tenant role, shell adjustments to
skip receipt/SignalR initialization for tenants.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@daveharmswebdev daveharmswebdev merged commit a247ea6 into main Apr 16, 2026
7 checks passed
@daveharmswebdev daveharmswebdev deleted the story/20-5-tenant-dashboard-role-routing branch April 16, 2026 11:40
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant