Proxied do WorkOS — nao e armazenado no banco de dados da aplicacao.
Esquema
| Campo | Tipo | Descricao |
|---|---|---|
roleId | string | Identificador unico (formato WorkOS: role_*) |
organizationId | UUIDv7? | Org de escopo (null para roles de ambiente) |
slug | string | Identificador unico |
name | string | Nome de exibicao |
description | string? | Descricao |
type | enum | ENVIRONMENT_ROLE, ORGANIZATION_ROLE |
permissions | string[] | Array de slugs de permissoes |
inherited | boolean | Se e herdado do ambiente |
createdAt | datetime | Timestamp de criacao |
updatedAt | datetime | Ultima atualizacao |
Exemplo
Relacionamentos
- Tem muitas Permissions via array de slugs
- Atribuido a Memberships
- Escopado a Organization (ORGANIZATION_ROLE)
Regras de Negocio
- Slug unico por escopo
- Nao pode referenciar permissoes inexistentes
ENVIRONMENT_ROLEe imutavel no nivel da organizacao- Cache multi-nivel