UNPKG

@e280/authlocal

Version:

User-sovereign login system for everybody

54 lines (44 loc) 1.27 kB
import {Identity} from "../../trust/exports/authority.js" import {Intake} from "../views/pages/ingress/intake.js" export namespace Situation { export type List = { kind: "list" onCreate: () => Promise<void> onEdit: (identity: Identity) => Promise<void> onDelete: (identities: Identity[]) => Promise<void> onEgress: (identities: Identity[]) => Promise<void> onIngress: () => Promise<void> } export type Create = { kind: "create" identities: Identity[] initialIdentity: Identity initialIdentitySeed: string onIngress: () => Promise<void> onSave: (identity: Identity) => Promise<void> onDone: () => Promise<void> onBack?: () => Promise<void> } export type Edit = { kind: "edit" seed: string identity: Identity onBack: () => Promise<void> onSave: (identity: Identity) => Promise<void> onDelete: (identity: Identity) => Promise<void> } export type Delete = { kind: "delete" identities: Identity[] onBack: () => Promise<void> onDelete: (ids: string[]) => Promise<void> } export type Ingress = { kind: "ingress" intake: Intake onBack: () => Promise<void> onSave: (identities: Identity[]) => Promise<void> } //////////////////////////////// export type Any = List | Create | Edit | Delete | Ingress }