Appartenance (Membership)
En une phrase : le lien d'emploi/de rattachement entre une personne et une organisation — « X travaille pour Y », sans rien dire encore de ce qu'elle a le droit d'y faire.
Rôle métier
L'appartenance matérialise le fait qu'une personne fait partie du personnel d'une organisation. Elle est volontairement minimale :
- elle dit si la personne est rattachée (
invited/active/disabled) et depuis quand (joined_at) ; - elle ne dit pas quel est son rôle — le rôle (
manager/employee) vit dans le système de rôles, scopé par organisation, pour rester la source de vérité unique des droits.
Une personne peut appartenir à plusieurs organisations simultanément, avec un statut et un rôle propres à chacune.
Cycle de vie
invited → active ⇄ disabled
invited— le rattachement est décidé (par un super-admin, un manager de l'organisation, une candidature d'organisation ou la désignation comme manager) mais la personne n'a pas encore accepté son invitation. Elle apparaît déjà dans le trombinoscope, marquée comme en attente. Ce statut ne se change que par l'acceptation de l'invitation (ou le retrait du membre) — jamais par le PATCH.active— l'invitation est acceptée (ou la personne était déjà active sur la plateforme au moment du rattachement) : elle peut agir sous le contexte de cette organisation.joined_atdate l'entrée effective.disabled— le membre est suspendu dans cette organisation : il reste au trombinoscope mais le contexte de vue lui est refusé (403). L'état est réversible (PATCH … membership_status: active), à distinguer du compte désactivé (statut utilisateur), qui coupe tout.
La fin d'appartenance existe désormais : DELETE /organizations/:id/members/:userId détache l'appartenance et retire les rôles scopés à cette organisation (les autres appartenances de la personne sont intactes). Une invitation encore en attente survit au retrait — voir invitation.
Relations métier
| Relation | Sens métier |
|---|---|
| → Utilisateur | La personne rattachée |
| → Organisation | La structure d'accueil |
| ⇒ Rôle scopé | Toute appartenance s'accompagne d'un rôle attribué dans cette organisation — les deux sont posés ensemble par les flux d'invitation / de création |
Règles métier
- Appartenance ≠ droit d'agir : il faut la conjonction appartenance
activeet organisationapprovedpour que le contexte de vue soit accordé. - Une organisation compte plusieurs managers et employés possibles ; le manager est le rôle par défaut d'un membre fondateur.
- Invariant du dernier manager : en contexte organisation, aucune rétrogradation, désactivation ou suppression ne peut laisser l'organisation sans manager actif (422) — un manager
invitedoudisabledne compte pas. Les super-admins en sont exemptés (fermeture d'une organisation). - L'audit d'une appartenance est rapporté à la personne (sujet), avec l'organisation en contexte : l'histoire qu'on veut relire est « qui a rejoint/quitté quoi ».
Contributors
No contributors
Changelog
No recent changes

