StaticinstanceThe process service: the shared database, the SES invite mailer and the internal event bus.
Invites an address to a role within the caller's reach and emails it. An address with a pending invite is settled first: one to the same role is emailed again, and one to another role is refused, as it would re-role it.
An address a registered login holds (linked to Cognito, confirmed) is
ADDED instead: the invite, new or the one already open, is accepted for
them at once, as their sign-in would, and nothing is emailed. When that
acceptance would not give them this role, it stays PENDING and is emailed.
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.
Optionaltx?: PgAsyncTransaction<NodePgQueryResultHKT, EmptyRelations>Revokes a pending invite, by id or by address: the row is soft-deleted, so
its link stops working. One to a role hidden from the caller reads as not
found, so it can't be probed. By id, an invite 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.
Hidden, absent, deleted and forbidden all read as null.
Invites to an internal role are invisible unless the caller is internal.
OptionalcreatedAt?: DbTimestampCriteriaOptionalemails?: string[]Matched case-insensitively.
Optionalids?: string[]OptionalincludeDeleted?: booleanOptionalpage?: numberOptionalpageSize?: numberOptionalstatuses?: ("PENDING" | "DELETED" | "ACCEPTED" | "REVOKED" | "EXPIRED")[]OptionalupdatedAt?: DbTimestampCriteria
Invites to a bank's dashboard. The row is what authorizes: it is written, then emailed, and a sign-in that proves the address accepts it.