liveperson-functions-cli
Version:
LivePerson Functions CLI
77 lines (76 loc) • 2.32 kB
TypeScript
import { FileService } from '../service/file.service';
import { LoginService } from '../service/login.service';
import { LoginView } from '../view/login.view';
export interface ILoginInformation {
accountId: string;
token: string;
userId: string;
username: string;
}
interface ILoginFlags {
inputFlags?: {
password?: string;
accountId?: string;
username?: string;
token?: string;
userId?: string;
};
}
export interface ITempFile {
[key: string]: {
token: string;
userId: string;
username: string;
active: boolean;
csrf: string;
sessionId: string;
};
}
interface ILoginConfig {
loginView?: LoginView;
loginService?: LoginService;
fileService?: FileService;
}
export declare class LoginController {
private readonly loginView;
private readonly loginService;
private tempFile;
private accountId;
private fileService;
constructor({ loginView, loginService, fileService, }?: ILoginConfig);
/**
* Runs the login process if you call the login command (lpf login)
* @param {ILoginFlags} - passed flags
* @returns {Promise<void>} - login view
* @memberof LoginController
*/
loginByCommand({ inputFlags }?: ILoginFlags): Promise<void>;
/**
* Run the login process if you call a command and you're token is expired.
* Will be invoked from the factory.
* @returns {Promise<void>} - login view
* @memberof LoginController
*/
private loginByFaasFactory;
private askForUsernameAndPassword;
/**
* Gets the login information from the temp file.
* If the token is invalid, it will starts the login process.
* @param {validToken} - used for the recursive call
* @returns {Promise<ILoginInformation>} - login view
* @memberof LoginController
*/
getLoginInformation({ validToken, }?: {
validToken?: boolean;
}): Promise<ILoginInformation>;
private checkIfSSOLogin;
private performSSOLogin;
private updateTempFile;
/**
* Returns Promise which resolves to true/false if the user is currently logged in
* @returns {Promise<boolean>} - isUserLoggedIn
* @memberof LoginController
*/
isUserLoggedIn(): Promise<boolean>;
}
export {};