Identity — Vues API

Le Identity Context expose des endpoints REST pour la gestion des utilisateurs, l’authentification et la vérification d’email.

Module : src.module.identity.presentation.views

Gestion des utilisateurs

class src.module.identity.presentation.views.UserViewSet(ModelViewSet)

CRUD des utilisateurs avec endpoint profil.

GET/PUT/PATCH /api/v1/users/ GET /api/v1/users/me/ (profil courant)

profile(request) Response

GET /api/v1/users/me/

Retourne le profil de l’utilisateur authentifié.

Vérification d’email

class src.module.identity.presentation.views.EmailVerificationSendView(APIView)

POST /api/v1/auth/email/verify/send/

Envoie un email de vérification avec un token unique.

Response 200:

{"message": "Verification email sent"}

class src.module.identity.presentation.views.EmailVerificationConfirmView(APIView)

POST /api/v1/auth/email/verify/confirm/

Confirme la vérification d’email avec le token.

Body:

{"token": "..."}

Response 200:

{"message": "Email verified"}

Response 400:

Token invalide ou expiré

Événements domaine

Module : src.module.identity.domain.events

class src.module.identity.domain.events.UserCreated(DomainEvent)[source]
Event_type:

"identity.user_created"

Champs:

user_id, email

class src.module.identity.domain.events.UserUpdated(DomainEvent)[source]
Event_type:

"identity.user_updated"

Champs:

user_id

class src.module.identity.domain.events.EmailVerified(DomainEvent)[source]
Event_type:

"identity.email_verified"

Champs:

user_id, email

class src.module.identity.domain.events.OTPDeviceConfirmed(DomainEvent)[source]
Event_type:

"identity.otp_device_confirmed"

Champs:

user_id, device_type

Sérialiseurs

Module : src.module.identity.serializers

class src.module.identity.domain.events.RegisterSerializer

Sérialiseur pour l’inscription.

Champs:

email, password, first_name, last_name

class src.module.identity.domain.events.UserSerializer

Sérialiseur pour la lecture/mise à jour des utilisateurs.

Champs:

id, email, first_name, last_name, is_active, date_joined

class src.module.identity.domain.events.SwitchTenantSerializer

Sérialiseur pour le changement de tenant.

Champs:

tenant_id