Modules — Cœur¶
Les modules cœur portent l'identité, le multi-tenant et le contrôle d'accès. Tout le reste s'appuie sur eux.
| Module | app/ · domain/ · web/ |
Rôle |
|---|---|---|
| auth | auth/ |
Authentification, JWT (access + refresh), réinitialisation de mot de passe, validation des identifiants. |
| users | users/ |
Comptes, profils, listing (admin), suspension/activation. |
| workspaces | workspaces/ |
Création de workspace, propriété, réglages (parameters JSON), suppression. |
| workspace-memberships | workspace-memberships/ |
Adhésion d'un utilisateur à un workspace, rôles, manager. |
| permissions | permissions/ |
RBAC : registre, synchronisation au boot, permissions effectives. |
| groups | groups/ |
Groupes (rôles) porteurs de permissions, par workspace. |
| invitations | invitations/ |
Invitations, envoi d'email, expiration/annulation, acceptation. |
auth¶
Émet des JWT access + refresh (via jsonwebtoken), valide les identifiants (bcrypt), gère la réinitialisation de mot de passe. Les échecs lèvent AuthenticationError avec un code machine (voir Erreurs & i18n et Authentification & gardes).
users¶
Comptes et profils. Porte la langue du compte (user.language) utilisée pour la localisation, le drapeau isSuperuser, l'état suspendu/activé. Le listing et les opérations d'administration vivent dans un *AdminService dédié, avec des permissions suffixées _admin.
workspaces¶
Le workspace est la frontière multi-tenant (voir Multi-tenant). Un utilisateur sans workspace peut en créer un via une route protégée par AuthenticatedGuard (et non RequireWorkspaceGuard). La configuration vit dans la colonne JSON parameters.
workspace-memberships¶
Relie un utilisateur à un workspace, avec son/ses groupe(s) et d'éventuelles surcharges allow/deny de permission (les deny l'emportent — voir Permissions).
Vocabulaire « manager »
Le code, la base et l'API utilisent manager / managerId pour le responsable hiérarchique d'un membre — jamais managedBy / managedById.
permissions & groups¶
permissions expose le registre et la synchronisation ; groups porte les ensembles de permissions par workspace. L'attribution effective résulte de l'union des groupes du membre, ajustée par ses surcharges d'adhésion. Détails : Permissions (RBAC).
invitations¶
Invite un utilisateur (existant ou non) à rejoindre un workspace : envoi d'un email, jeton d'invitation, expiration et annulation, puis acceptation qui crée l'adhésion. L'existence d'un compte peut être vérifiée par jeton d'invitation.