Campos
| Campo | Tipo | Descrição |
|---|---|---|
roleId | UUID | Identificador único |
organizationId | UUID? | Referência à organização; preenchido apenas para ORGANIZATION |
type | RoleType | Tipo da role (INTERNAL, ENVIRONMENT ou ORGANIZATION) |
name | String | Nome do papel (ex.: “Admin”, “Agente”) |
description | String? | Descrição do papel |
createdBy | UUID? | Usuário que criou o registro, quando aplicável |
createdAt | DateTime | Data de criação |
updatedBy | UUID? | Usuário que fez a última atualização, quando aplicável |
updatedAt | DateTime | Data da última atualização |
deletedBy | UUID? | Usuário que removeu o registro, quando aplicável |
deletedAt | DateTime? | Data de remoção |
Relacionamentos
- Relaciona-se com Organization (opcional)
- Relaciona-se com múltiplos RolePermission
- Relaciona-se com múltiplos Membership
- Relaciona-se com múltiplos Invite
Regras de Negócio
INTERNALé usado apenas no BackOffice e não pertence a uma organização.ENVIRONMENTé uma role global reutilizável por organizações; a organização aparece na Membership, não na Role.ORGANIZATIONé customizada por uma organização e exigeorganizationIdpreenchido.- Um papel é um conjunto nomeado de permissions do catálogo do DEVMOB.
- Usuários são associados a roles por Membership.
- Exclusão é lógica (
deletedAt); papéis excluídos são ignorados nas consultas. - Ao criar uma organização, o owner recebe uma Membership
ACTIVEcom uma role admin de ambiente compatível com o tipo da organização.
Enums
RoleType
| Valor | Descrição |
|---|---|
INTERNAL | Role interna para BackOffice, fora de qualquer organização |
ENVIRONMENT | Role global reutilizável por organizações |
ORGANIZATION | Role customizada por uma organização |