@e280/authlocal
Version:
User-sovereign login system for everybody
44 lines (43 loc) • 1.43 kB
TypeScript
import { Identity } from "../../trust/exports/authority.js";
import { Intake } from "../views/pages/ingress/intake.js";
export declare namespace Situation {
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>;
};
type Create = {
kind: "create";
identities: Identity[];
initialIdentity: Identity;
initialIdentitySeed: string;
onIngress: () => Promise<void>;
onSave: (identity: Identity) => Promise<void>;
onDone: () => Promise<void>;
onBack?: () => Promise<void>;
};
type Edit = {
kind: "edit";
seed: string;
identity: Identity;
onBack: () => Promise<void>;
onSave: (identity: Identity) => Promise<void>;
onDelete: (identity: Identity) => Promise<void>;
};
type Delete = {
kind: "delete";
identities: Identity[];
onBack: () => Promise<void>;
onDelete: (ids: string[]) => Promise<void>;
};
type Ingress = {
kind: "ingress";
intake: Intake;
onBack: () => Promise<void>;
onSave: (identities: Identity[]) => Promise<void>;
};
type Any = List | Create | Edit | Delete | Ingress;
}