Interface Users

Interface for user management functionality

interface Users {
    all: Map<number, User>;
    add(user: Partial<User>, options?: AddUserOptions): Promise<void>;
    addPasskey(uid: number, passkey: Passkey): Promise<void>;
    get(uid: number): undefined | User;
    getPasskeys(uid: number): Promise<Passkey[]>;
    hasPasskeys(uid: number): Promise<boolean>;
    load(): Promise<void>;
    login(
        username: string,
        password?: string,
        passkeyCredential?: PublicKeyCredential,
    ): Promise<{ cred: { gid: number; uid: number }; user: User }>;
    password(oldPassword: string, newPassword: string): Promise<void>;
    remove(uid: number): Promise<void>;
    removePasskey(uid: number, passkeyId: string): Promise<void>;
    savePasskeys(uid: number, passkeys: Passkey[]): Promise<void>;
    update(uid: number, updates: Partial<User>): Promise<void>;
}

Properties

all: Map<number, User>

Get all users

Methods

  • Login with credentials

    Parameters

    • username: string

      Username

    • Optionalpassword: string

      Password (optional if using passkey)

    • OptionalpasskeyCredential: PublicKeyCredential

      Passkey credential (optional if using password)

    Returns Promise<{ cred: { gid: number; uid: number }; user: User }>

  • Change a user's password

    Parameters

    • oldPassword: string

      Current password

    • newPassword: string

      New password

    Returns Promise<void>

  • Remove a passkey by ID

    Parameters

    • uid: number

      User ID

    • passkeyId: string

      Passkey ID to remove

    Returns Promise<void>