arbret/backend
counterweight 21698203fe
refactor(auth): unify authorization patterns with MANAGE_OWN_PROFILE permission
Issue #2: The profile route used a custom role-based check instead
of the permission-based pattern used everywhere else.

Changes:
- Add MANAGE_OWN_PROFILE permission to backend Permission enum
- Add permission to ROLE_REGULAR role definition
- Update profile routes to use require_permission(MANAGE_OWN_PROFILE)
- Remove custom require_regular_user dependency
- Update frontend Permission constant and profile page
- Update invites page to use permission instead of role check
- Update profile tests with proper permission mocking

This ensures consistent authorization patterns across all routes.
2025-12-21 23:50:06 +01:00
..
routes refactor(auth): unify authorization patterns with MANAGE_OWN_PROFILE permission 2025-12-21 23:50:06 +01:00
tests refactor(auth): unify authorization patterns with MANAGE_OWN_PROFILE permission 2025-12-21 23:50:06 +01:00
auth.py Add ruff linter/formatter for Python 2025-12-21 21:54:26 +01:00
database.py Extract duplicated DATABASE_URL parsing to database.py 2025-12-21 23:16:29 +01:00
env.example reviewed 2025-12-20 22:38:39 +01:00
invite_utils.py Add ruff linter/formatter for Python 2025-12-21 21:54:26 +01:00
jobs.py fix: guard pool initialization with asyncio.Lock to prevent race condition 2025-12-21 23:23:21 +01:00
main.py Use connection pool for job enqueueing instead of per-request 2025-12-21 23:13:22 +01:00
models.py refactor(auth): unify authorization patterns with MANAGE_OWN_PROFILE permission 2025-12-21 23:50:06 +01:00
pyproject.toml Phase 1: Add pgqueuer infrastructure 2025-12-21 22:37:04 +01:00
pytest.ini tests passing 2025-12-18 22:08:31 +01:00
schemas.py Phase 4: API Endpoint 2025-12-21 22:53:54 +01:00
seed.py Add ruff linter/formatter for Python 2025-12-21 21:54:26 +01:00
shared_constants.py Add ruff linter/formatter for Python 2025-12-21 21:54:26 +01:00
validate_constants.py Add ruff linter/formatter for Python 2025-12-21 21:54:26 +01:00
validation.py Add ruff linter/formatter for Python 2025-12-21 21:54:26 +01:00
words.txt first implementation 2025-12-20 11:12:11 +01:00
worker.py fix: handle malformed JSON payloads in worker with error logging 2025-12-21 23:24:28 +01:00