Sous-tâche de #3123.
Objectif
Permettre à un admin de se faire passer pour un utilisateur d'une entreprise (mimoquage / impersonate).
Existant sur master
- Page :
packages/app/src/app/admin/impersonate/page.tsx + Form.tsx
- Helper :
packages/app/src/common/core-domain/helpers/impersonate.ts (type ImpersonatedSession)
- Bandeau :
packages/app/src/app/ImpersonateNotice.tsx
- Flow : recherche par SIREN →
getCompany() → session.update() pose staff.impersonating = true et remplace user.companies[0]
- Les dernières entreprises mimoquées sont stockées dans la session (datalist de suggestions)
Périmètre V2
Fichiers à créer/modifier
src/modules/admin/impersonate/ (Form, actions, helpers)
src/modules/layout/ImpersonateBanner.tsx
src/server/api/routers/admin.ts
Sous-tâche de #3123.
Objectif
Permettre à un admin de se faire passer pour un utilisateur d'une entreprise (mimoquage / impersonate).
Existant sur
masterpackages/app/src/app/admin/impersonate/page.tsx+Form.tsxpackages/app/src/common/core-domain/helpers/impersonate.ts(typeImpersonatedSession)packages/app/src/app/ImpersonateNotice.tsxgetCompany()→session.update()posestaff.impersonating = trueet remplaceuser.companies[0]Périmètre V2
startImpersonate(siren)qui met à jour la session NextAuthstopImpersonate()qui nettoie la sessionFichiers à créer/modifier
src/modules/admin/impersonate/(Form, actions, helpers)src/modules/layout/ImpersonateBanner.tsxsrc/server/api/routers/admin.ts