@ticketto/protocol
Version:
Library that defines the interfaces of the ticketto protocol to be implemented on a client
28 lines (27 loc) • 999 B
TypeScript
import { Account, AccountId } from "@ticketto/types";
export interface DirectoryStorage {
/**
* Returns the list of all existing accounts.
*/
all(): Promise<Account[]>;
/**
* Returns this list of accounts, indexed by display.
* @param display A nickname to display quickly identifying an account.
*/
indexByDisplay(display: string): Promise<Account[]>;
/**
* Returns this list of accounts, indexed by phone.
* @param phone The phone number of the {@link Account}.
*/
indexByPhone(phone: string): Promise<Account[]>;
/**
* Returns this list of accounts, indexed by email.
* @param email The email of the {@link Account}.
*/
indexByEmail(email: string): Promise<Account[]>;
/**
* Returns an account by its ID. Returns undefined if no account is found.
* @param accountId The {@link AccountId} that identifies an {@link Account}.
*/
get(accountId: AccountId): Promise<Account | undefined>;
}