StaticinstanceThe process service: the shared database, the SES invite mailer and the internal event bus.
Invites an address to roleId, else to the role set's highest-rank
non-internal role, and emails it; a member is left alone. id is the
address's live PENDING invite: this one, or one already open to the same
role and still acceptable, emailed again. An expired one is replaced by a
fresh row; one to another role is WORKSPACE_INVITE_PENDING.
An address a registered login holds (linked to Cognito, confirmed) is
ADDED instead: the invite is accepted for them at once, as their sign-in
would, and nothing is emailed. When that acceptance would not give them
this role, the invite stays PENDING and is emailed as above.
With a caller's tx nothing is published: the caller publishes after its commit.
The origin the invitee signs up at: the email's link points there.
OptionalroleId?: stringOptionalsilent?: trueWrites the invite and sends no email; sign-in accepts it as usual.
Optionaltx?: PgAsyncTransaction<NodePgQueryResultHKT, EmptyRelations>Revokes a live PENDING invite: the row is soft-deleted, as a member's
revoke does, so its link stops working. One already revoked writes nothing
and publishes again: a retry finds it there.
With a caller's tx nothing is published: the caller publishes after its commit.
Invites across every customer, oldest first; deleted ones only with includeDeleted.
OptionalcreatedAt?: DbTimestampCriteriaOptionalcustomerIds?: string[]Optionalemails?: string[]Matched case-insensitively.
Optionalids?: string[]OptionalincludeDeleted?: booleanOptionalpage?: numberDefaults to 1
OptionalpageSize?: numberDefaults to 100
Optionalstatuses?: ("PENDING" | "DELETED" | "ACCEPTED" | "REVOKED" | "EXPIRED")[]OptionalupdatedAt?: DbTimestampCriteria
Invites to every customer's dashboard, for callers with no dashboard user: CFX operators and onboarding's owner invite.