Skip to content

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

invitedactivedisabled

  • 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_at date 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

RelationSens métier
UtilisateurLa personne rattachée
OrganisationLa 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 active et organisation approved pour 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 invited ou disabled ne 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