Protected ReadonlydbStaticinstanceThe process service: owner emails from the dashboard-auth namespace, read at each grant.
Records whether the operator'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.
Optionalinput: {OptionalcognitoSubs?: string[]Optionalids?: string[]OptionalorderBy?: { direction: "ASC" | "DESC"; field: UserSortField }[]Applied ahead of a stable id tiebreak; omitted, rows come in creation
order. lastSeenAt sorts its ISO-8601 jsonb string, which is chronological.
Optionalpage?: numberOptionalpageSize?: numberOptionalquery?: stringCase-insensitive substring of the email, first name or last name.
OptionalroleIds?: string[]Optionalstatuses?: ("ACTIVE" | "DISABLED")[]Sets the user's status and/or display preferences: colorScheme, one of
COLOR_SCHEMES, and timeZone, an IANA Area/Location name or auto.
Writing what it already has is a no-op, but a named status publishes. The
preferences are personal display settings, not operator state changes, so
callers record no admin activity for them.
Refresh the row keyed on cognitoSub, else link the one unlinked row with
the same email (case-insensitive), else insert. Never flips DISABLED back
to ACTIVE; a disabled user returns ADMIN_USER_DISABLED.
created is true only when this call inserted the row — the same branch
that runs the bootstrap owner grant, which publishes
auth.adminUser.roleChanged after commit. timeZone, the browser's at sign-in,
is stored only on that insert, and only when valid; otherwise auto.
linked is true when it claimed a pre-cutover row by email; either flag
marks a first request the sign-in callback could not record.
Identity and status for the admin dashboard's users. Every request upserts the
cfx-adminCognito identity; roles are resolved by AdminDashboardRoleService.