Identity Service Data Model
Auto-generated from TypeORM entity definitions. Last synced: 2026-03-15
Database schema: identity
ApiKey
Table: api_keys
| Column | Type | Nullable | Primary | Unique | Default |
|---|
id | string | No | Yes | Yes | - |
name | varchar | No | - | - | - |
prefix | varchar | No | - | - | - |
keyHash | varchar | No | - | - | - |
userId | uuid | No | - | - | - |
tenantId | uuid | No | - | - | - |
isActive | boolean | No | - | - | true |
lastUsedAt | timestamp | Yes | - | - | - |
createdAt | Date | No | - | - | - |
updatedAt | Date | No | - | - | - |
AuditLog
Table: audit_logs
| Column | Type | Nullable | Primary | Unique | Default |
|---|
id | string | No | Yes | Yes | - |
actorId | varchar | No | - | - | - |
actorType | varchar | No | - | - | - |
action | varchar | No | - | - | - |
resource | varchar | No | - | - | - |
resourceId | varchar | Yes | - | - | - |
tenantId | uuid | Yes | - | - | - |
correlationId | uuid | Yes | - | - | - |
previousState | jsonb | Yes | - | - | - |
newState | jsonb | Yes | - | - | - |
metadata | jsonb | No | - | - | - |
description | varchar | Yes | - | - | - |
timestamp | Date | No | - | - | - |
ConsentRecord
Table: consent_records
| Column | Type | Nullable | Primary | Unique | Default |
|---|
id | string | No | Yes | Yes | - |
userId | uuid | No | - | - | - |
consentType | varchar | No | - | - | - |
granted | boolean | No | - | - | - |
ipAddress | varchar | Yes | - | - | - |
userAgent | varchar | Yes | - | - | - |
createdAt | Date | No | - | - | - |
Relations
| Property | Type | Target | Join Column |
|---|
user | ManyToOne | User | - |
OAuthAccount
Table: oauth_accounts
| Column | Type | Nullable | Primary | Unique | Default |
|---|
id | string | No | Yes | Yes | - |
userId | uuid | No | - | - | - |
provider | varchar | No | - | - | - |
providerUserId | varchar | No | - | - | - |
email | varchar | No | - | - | - |
displayName | varchar | Yes | - | - | - |
accessToken | text | Yes | - | - | - |
refreshToken | text | Yes | - | - | - |
createdAt | Date | No | - | - | - |
updatedAt | Date | No | - | - | - |
Relations
| Property | Type | Target | Join Column |
|---|
user | ManyToOne | User | Yes |
OAuthClient
Table: oauth_clients
| Column | Type | Nullable | Primary | Unique | Default |
|---|
id | string | No | Yes | Yes | - |
name | varchar | No | - | - | - |
clientId | varchar | No | - | Yes | - |
clientSecretHash | varchar | No | - | - | - |
clientSecretPrefix | varchar | No | - | - | - |
scopes | string[] | No | - | - | - |
tenantId | uuid | No | - | - | - |
isActive | boolean | No | - | - | true |
rateLimitPerMinute | int | Yes | - | - | - |
allowedIps | string[] | No | - | - | - |
lastUsedAt | timestamp | Yes | - | - | - |
tokenCount | int | No | - | - | 0 |
createdAt | Date | No | - | - | - |
updatedAt | Date | No | - | - | - |
Relations
| Property | Type | Target | Join Column |
|---|
tenant | ManyToOne | Tenant | Yes |
Role
Table: roles
| Column | Type | Nullable | Primary | Unique | Default |
|---|
id | string | No | Yes | Yes | - |
name | varchar | No | - | Yes | - |
displayName | varchar | No | - | - | - |
description | text | Yes | - | - | - |
category | varchar | No | - | - | custom |
permissions | string[] | No | - | - | - |
isSystem | boolean | No | - | - | false |
isActive | boolean | No | - | - | true |
createdAt | Date | No | - | - | - |
updatedAt | Date | No | - | - | - |
TenantInvite
Table: tenant_invites
| Column | Type | Nullable | Primary | Unique | Default |
|---|
id | string | No | Yes | Yes | - |
token | varchar | No | - | Yes | - |
email | varchar | No | - | - | - |
tenantId | uuid | No | - | - | - |
role | varchar | No | - | - | - |
invitedBy | uuid | No | - | - | - |
expiresAt | timestamp | No | - | - | - |
used | boolean | No | - | - | false |
createdAt | Date | No | - | - | - |
Relations
| Property | Type | Target | Join Column |
|---|
tenant | ManyToOne | Tenant | Yes |
Tenant
Table: tenants
| Column | Type | Nullable | Primary | Unique | Default |
|---|
id | string | No | Yes | Yes | - |
name | varchar | No | - | Yes | - |
type | varchar | No | - | - | - |
country | varchar | No | - | - | - |
settings | TenantSettings | No | - | - | - |
config | Recordstring, any | No | - | - | - |
createdAt | Date | No | - | - | - |
updatedAt | Date | No | - | - | - |
Relations
| Property | Type | Target | Join Column |
|---|
users | OneToMany | User | - |
User
Table: users
| Column | Type | Nullable | Primary | Unique | Default |
|---|
id | string | No | Yes | Yes | - |
email | varchar | No | - | Yes | - |
firstName | varchar | No | - | - | - |
lastName | varchar | No | - | - | - |
passwordHash | varchar | No | - | - | - |
roles | string[] | No | - | - | - |
tenantId | uuid | No | - | - | - |
status | varchar | No | - | - | active |
mfaEnabled | boolean | No | - | - | false |
mfaSecret | varchar | Yes | - | - | - |
mfaBackupCodes | string[] | No | - | - | - |
lastLoginAt | timestamp | Yes | - | - | - |
lastLogoutAt | timestamp | Yes | - | - | - |
loginAttempts | int | No | - | - | 0 |
lockedUntil | timestamp | Yes | - | - | - |
refreshTokenHash | varchar | Yes | - | - | - |
erasedAt | timestamp | Yes | - | - | - |
createdAt | Date | No | - | - | - |
updatedAt | Date | No | - | - | - |
Relations
| Property | Type | Target | Join Column |
|---|
tenant | ManyToOne | Tenant | - |
oauthAccounts | OneToMany | OAuthAccount | - |