Campos
Relacionamentos
- Relaciona-se com User
- Relaciona-se com Organization (opcional — ausente em roles internas)
- Relaciona-se com Role
- Membership representa acesso operacional de um usuário; Employee é um vínculo separado da Company e não depende de Membership.
Regras de Negócio
INTERNALusa Membership sem organização e concede acesso interno de BKO.ENVIRONMENTusa Membership com organização preenchida, mesmo que a Role seja global.ORGANIZATIONusa Membership com a mesma organização da Role.- Um usuário pode pertencer a múltiplas organizações com roles diferentes, e acumular mais de uma role na mesma organização.
- O mesmo usuário não deve ter duas Memberships
ACTIVEpara o mesmo parorganizationId+roleId. Para rolesINTERNAL, a unicidade consideraorganizationId = null. - Surge no aceite de um Invite do tipo
MEMBER. - Apenas Membership
ACTIVEconcede claims, roles e permissions no Profile. - Criação, atualização e revogação emitem
membership.created,membership.updatedemembership.revoked, além de solicitar auditoria do recursoMEMBERSHIPquando executadas por uma API autenticada. - Revogar uma Membership muda
statusparaREVOKED, preencherevokedAte preserva o histórico do vínculo. - Membership
REVOKEDnão pode ser reativada nem bloquear novo convite equivalente. Para devolver acesso, um novo Invite deve criar um novo vínculo. - Uma Company pode administrar Memberships de seus membros e Employees de seus funcionários, mas os dois vínculos têm finalidades diferentes.