App. Docs
User
Users are scoped to a company. An Account links a person across companies and holds their global identity; each company has a distinct User for that account.
Create
- Open Company Settings → Users and click “Invite User”.
- Enter the user’s name and email, choose a Role, and optionally attach a subscription.
- Send the invite. The user receives a one‑time link via email.
- When accepted, the invite converts into a company‑scoped User record.
- Invites can be revoked any time before acceptance and are fully auditable.
Overview
A single Account can participate in many companies, but only one User exists per company for that account. The user stores company-specific details like role, activity state, and preferences.
Activation
- Single-user companies: If only one person exists in the company, users are active with full access.
- Multi-user companies: When more than one user exists, each user must have a subscription seat assigned to be active.
- Invites: Pending invites do not consume a seat until accepted. Seats can be reassigned.
Attributes
1type Account = {
2 // Identity
3 id: string; // uuid
4
5 // Core
6 email?: string | null; // unique
7
8 // Relations
9 users: User[];
10
11 // Notes (DB constraints)
12 // @@unique([email]) (nullable unique)
13}