video-accessibility/backend/app
Vadym Samoilenko 4623b89aeb feat(mt-16): JWT org_ids claim + transient user.org_ids in deps
- create_access_token gains optional org_ids: list[str] param; encodes
  {exp, sub, org_ids, v:2} — org_ids is a prefilter hint only, never
  used as authorization source of truth (Redis cache is authoritative)
- Login, MS login, refresh endpoints: fetch memberships and include
  org_ids in issued access tokens via _get_user_org_ids() helper
- routes_invitations.py accept flow: same org_ids population on token
- get_current_user: reads org_ids from payload, attaches as transient
  user.__dict__["org_ids"] — available to OrgScopedQuery for prefilter
- Force logout: rotate JWT_SECRET env var at deployment time (no code
  change needed; all existing tokens immediately invalidated)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-29 20:46:39 +01:00
..
api/v1 feat(mt-16): JWT org_ids claim + transient user.org_ids in deps 2026-04-29 20:46:39 +01:00
core feat(mt-16): JWT org_ids claim + transient user.org_ids in deps 2026-04-29 20:46:39 +01:00
lib docs: add canonical documentation + audit cleanup 2026-04-29 14:22:51 +01:00
middleware feat(pr4+pr5): hotkeys, unified status labels, upload size constant 2026-04-29 18:42:03 +01:00
migrations feat(w-12): JobBrief model, endpoints, migration + brief→job linkage 2026-04-29 20:38:08 +01:00
models feat(w-12): JobBrief model, endpoints, migration + brief→job linkage 2026-04-29 20:38:08 +01:00
prompts feat: per-client glossary — hybrid exact/vector retrieval + AI injection 2026-04-29 13:03:38 +01:00
schemas feat(l3): optimistic locking for VTT edits (ETag / 409 Conflict) 2026-04-29 19:01:57 +01:00
services feat(mt-14): gcs_prefix on Job, gcs_path helper, rewrite path sites 2026-04-29 20:45:12 +01:00
tasks feat(mt-14): gcs_prefix on Job, gcs_path helper, rewrite path sites 2026-04-29 20:45:12 +01:00
telemetry docs: add canonical documentation + audit cleanup 2026-04-29 14:22:51 +01:00
main.py feat(w-12): JobBrief model, endpoints, migration + brief→job linkage 2026-04-29 20:38:08 +01:00