Skip to content

Backoffice - Mimoquage d'un utilisateur #3179

@LucasCharrier

Description

@LucasCharrier

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

  • Formulaire de recherche par SIREN ou nom d'entreprise
  • Affichage des données de l'entreprise (nom, SIREN, effectif, adresse) avant validation
  • Action startImpersonate(siren) qui met à jour la session NextAuth
  • Bandeau global (visible sur toutes les pages en mode mimoquage) avec SIREN + bouton "Arrêter"
  • Action stopImpersonate() qui nettoie la session
  • Historique des N dernières entreprises mimoquées (datalist)
  • Tests unitaires + E2E (start → navigate my-space → stop)

Fichiers à créer/modifier

  • src/modules/admin/impersonate/ (Form, actions, helpers)
  • src/modules/layout/ImpersonateBanner.tsx
  • src/server/api/routers/admin.ts

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

Status

In review

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions