StaticinstanceThe process service: the shared database and the static-assets bucket for avatars.
The user a Cognito login is, created when no row holds its subject: an
invitee, whose email the caller proved. timeZone is their browser's,
stored when valid; otherwise they start at auto, never failing the
sign-in. An existing row is returned untouched.
DANGER: Users are not customer-specific. Ensure you are fetching only users for the current customer, e.g. based on activities
Records the user's Cognito subject. Relinking the same subject writes nothing.
Records that the user was just seen in customerId's workspace: stamps
lastSeenAt and lastWorkspaceId in one guarded UPDATE. It writes when
the stamp is over five minutes old, or at once when the workspace
changed, so a burst of requests writes once and a switch is never lost.
true when it wrote; an unknown user or customer writes nothing.
updatedAt is left alone, since being seen is not an edit.
Records whether the user's Cognito login holds a passkey, as Cognito
listed it: stamps passkeyEnrolledAt the first time it does, keeping an
earlier stamp, and clears it once it holds none. changed is whether it wrote.
DANGER: Users are not customer-specific. Ensure you are fetching only users for the current customer, e.g. based on activities
OptionalcognitoLinked?: booleanfalse: only users with no Cognito subject yet; true: only linked ones.
OptionalcognitoSubs?: string[]OptionalcreatedAt?: DbTimestampCriteriaOptionalemailConfirmed?: booleanOnly users whose email is confirmed (true) or not (false).
Optionalemails?: string[]Matched case-insensitively.
OptionalhasActiveMembership?: booleanOnly users holding at least one live ACTIVE membership, in any customer.
Optionalids?: string[]OptionalorderBy?: DbOrderByCriterion<Optionalpage?: numberDefaults to 1
OptionalpageSize?: numberDefaults to 10
OptionalsharesWorkspaceWith?: { customerId: string; dashboardUserId: string }Only users holding an ACTIVE membership of customerId that
dashboardUserId holds too: whose avatars that viewer may see.
OptionalupdatedAt?: DbTimestampCriteriaSets the user's first and last name and, with avatar, their profile
picture: any PNG, JPEG or WebP, stored as a 256 px WebP square, or null
to remove it. Keys it doesn't name survive concurrent writes, and the
picture it replaces is deleted once nothing points at it. phoneNumber
takes any common format with its country code and is stored in E.164;
null clears it. colorScheme is one of COLOR_SCHEMES;
timeZone is an IANA Area/Location name, or auto to follow the request.
Dashboard users by id, whichever customers they belong to or have left: the authors of activity and transaction metadata. The only writer of their rows, profile picture included (
avatarStorage, needed only toupdateit). The customer's current roster isCustomerDashboardMembershipService.