User
- Can belong to none, one or many Tenants, linked by the TenantUser model.
Life Cycle
| Route | Create | Read | Update | Delete |
|---|---|---|---|---|
| /register | ||||
| /app/:tenant/settings/profile | ||||
| /admin/users |
Properties
| Name | Title | Type | Description |
|---|---|---|---|
| email * | String | ||
| passwordHash * | Password | String | Encripted password using bcryptjs |
| firstName * | First name | String | |
| lastName * | Last name | String | |
| avatar | Avatar | String | |
| phone | Phone | String | |
| defaultTenantId | Default Tenant | String | When the user logs in, it will redirect to the last tenant |
| verifyToken | Verify Token | String | Generated at /forgot-password, validated at /reset |
| admin | Admin User | AdminUser | Determines if a user can access the /admin portal |
| tenants | Tenants | TenantUser[] | |
| invitations | Invitations | TenantUserInvitation[] | User has been invited to join a tenant |
| logs | Logs | Log[] | User audit trails/events. |
| createdLinkedAccounts | Linked Accounts | LinkedAccount[] | Linked accounts created by user. |
| createdRows | Rows | Row[] | Custom entity rows created by user |
| createdApiKeys | API Keys | APIKey[] | API Keys created by user |
Model
model User {
id String @id @default(cuid())
createdAt DateTime @default(now())
updatedAt DateTime @updatedAt
email String @unique
passwordHash String
firstName String
lastName String
avatar String?
phone String?
defaultTenantId String?
verifyToken String?
admin AdminUser?
tenants TenantUser[]
invitation TenantUserInvitation?
logs Log[]
createdLinkedAccounts LinkedAccount[]
createdRows Row[]
createdApiKeys ApiKey[]
}