@intuitionrobotics/user-account
Version:
43 lines (42 loc) • 1.74 kB
TypeScript
import { Module } from "@intuitionrobotics/ts-common";
import { OnUnauthenticatedResponse, StorageKey } from "@intuitionrobotics/thunderstorm/frontend";
import { Request_CreateAccount, Request_LoginAccount, RequestParams_LoginSAML, UI_Account } from "../../shared/api";
export declare const StorageKey_UserEmail: StorageKey<string>;
export declare const StorageKey_JWT: StorageKey<string>;
export declare const RequestKey_AccountCreate = "account-create";
export declare const RequestKey_AccountLogin = "account-login";
export declare const RequestKey_AccountLoginSAML = "account-login-saml";
export declare const RequestKey_ValidateSession = "account-validate";
export interface OnLoginStatusUpdated {
onLoginStatusUpdated: () => void;
}
export declare enum LoggedStatus {
VALIDATING = 0,
LOGGED_OUT = 1,
LOGGED_IN = 2
}
type Config = {};
export interface OnAccountsLoaded {
__onAccountsLoaded: () => void;
}
export declare class AccountModule_Class extends Module<Config> implements OnUnauthenticatedResponse {
private status;
private dispatchUI_loginChanged;
private accounts;
constructor();
onUnauthenticatedResponse: () => void;
getAccounts(): UI_Account[];
getLoggedStatus: () => LoggedStatus;
isStatus: (status: LoggedStatus) => boolean;
protected setLoggedStatus: (newStatus: LoggedStatus) => void;
protected init(): void;
create(request: Request_CreateAccount): void;
login(request: Request_LoginAccount): void;
private setLoginInfo;
loginSAML(request: RequestParams_LoginSAML): void;
private validateToken;
logout: (url?: string) => string | undefined;
listUsers: () => void;
}
export declare const AccountModule: AccountModule_Class;
export {};