Proxied do WorkOS — nao e armazenado no banco de dados da aplicacao.
Esquema
| Campo | Tipo | Descricao |
|---|---|---|
invitationId | string | Identificador unico (formato WorkOS: inv_*) |
organizationId | UUIDv7 | FK para Organization |
inviterUserId | string? | ID do usuario que convidou |
acceptedUserId | string? | ID do usuario que aceitou |
email | string | Email do convidado |
token | string | Token do convite |
acceptInvitationUrl | string | URL de aceitacao |
roleSlug | string? | Role ao aceitar |
state | enum | PENDING, ACCEPTED, REVOKED, EXPIRED |
expiresAt | datetime | Expiracao |
acceptedAt | datetime? | Momento da aceitacao |
revokedAt | datetime? | Momento da revogacao |
createdAt | datetime | Timestamp de criacao |
updatedAt | datetime | Ultima atualizacao |
Exemplo
Relacionamentos
- Pertence a Organization
- Criado por User
- Aceito por User
- Cria Membership ao ser aceito
Transicoes de Estado
Regras de Negocio
- Email unico por organizacao
- So pode revogar/reenviar se PENDING
- Magic link OTP pode validar e aceitar
- Expiracao automatica
O campo
token e um JWT de uso unico gerado pelo WorkOS. A URL de aceitacao (acceptInvitationUrl) redireciona para o fluxo de autenticacao do studio.