arbret/frontend/app
counterweight 09560296aa
refactor: derive Permission type from generated OpenAPI schema
Issue #3: The frontend Permission enum was manually duplicated from
the backend. While full generation isn't practical, this change
ties the frontend constants to the generated OpenAPI types for
compile-time validation.

Changes:
- Update ConstantsResponse schema to use actual Permission/InviteStatus
  enums (enables OpenAPI to include enum values)
- Import enums in schemas.py (no circular dependency issue)
- Update auth-context.tsx to derive PermissionType from generated schema
- Update meta route to return enum instances instead of string values
- Permission values are now type-checked against the OpenAPI schema

If a permission is added to the backend but not to the frontend's
Permission object, TypeScript will fail to compile. This provides
a safety net without requiring a complex build-time generation step.
2025-12-21 23:55:47 +01:00
..
admin refactor(frontend): consolidate shared styles into centralized style system 2025-12-21 23:45:47 +01:00
appointments refactor(frontend): consolidate shared styles into centralized style system 2025-12-21 23:45:47 +01:00
audit refactor(frontend): consolidate shared styles into centralized style system 2025-12-21 23:45:47 +01:00
booking refactor(frontend): consolidate shared styles into centralized style system 2025-12-21 23:45:47 +01:00
components Phase 5: Frontend Admin Page 2025-12-21 22:55:56 +01:00
generated refactor: derive Permission type from generated OpenAPI schema 2025-12-21 23:55:47 +01:00
hooks Add Prettier for TypeScript formatting 2025-12-21 21:59:26 +01:00
invites refactor(auth): unify authorization patterns with MANAGE_OWN_PROFILE permission 2025-12-21 23:50:06 +01:00
login Add Prettier for TypeScript formatting 2025-12-21 21:59:26 +01:00
profile refactor(auth): unify authorization patterns with MANAGE_OWN_PROFILE permission 2025-12-21 23:50:06 +01:00
signup Add Prettier for TypeScript formatting 2025-12-21 21:59:26 +01:00
styles refactor(frontend): consolidate shared styles into centralized style system 2025-12-21 23:45:47 +01:00
sum Add Prettier for TypeScript formatting 2025-12-21 21:59:26 +01:00
utils Add Prettier for TypeScript formatting 2025-12-21 21:59:26 +01:00
api.ts Add Prettier for TypeScript formatting 2025-12-21 21:59:26 +01:00
auth-context.tsx refactor: derive Permission type from generated OpenAPI schema 2025-12-21 23:55:47 +01:00
config.ts Add Prettier for TypeScript formatting 2025-12-21 21:59:26 +01:00
layout.tsx tests passing 2025-12-18 22:08:31 +01:00
page.test.tsx Add Prettier for TypeScript formatting 2025-12-21 21:59:26 +01:00
page.tsx refactor(frontend): consolidate shared styles into centralized style system 2025-12-21 23:45:47 +01:00