@etsoo/appscript
Version:
Applications shared TypeScript framework
129 lines (128 loc) • 4.66 kB
TypeScript
import { IApiPayload } from "@etsoo/restclient";
import { IUser } from "../state/User";
import { BaseApi } from "./BaseApi";
import { ResultPayload } from "./dto/ResultPayload";
import { DataTypes, IActionResult } from "@etsoo/shared";
import { RefreshTokenProps, RefreshTokenResult } from "../app/IApp";
import { TokenInputRQ } from "./rq/TokenRQ";
import { ApiRefreshTokenDto } from "./dto/ApiRefreshTokenDto";
import { LoginInputAuthResult, LoginInputRQ } from "./rq/LoginRQ";
import { ResetPasswordInputRQ } from "./rq/ResetPasswordRQ";
import { SignoutRQ } from "./rq/SignoutRQ";
import { SwitchOrgRQ } from "./rq/SwitchOrgRQ";
import { AuthRequest } from "./rq/AuthRequest";
import { CheckUserIdentifierRQ } from "./rq/CheckUserIdentifierRQ";
import { AdminSupportRQ } from "./rq/AdminSupportRQ";
/**
* Authentication API
*/
export declare class AuthApi extends BaseApi {
/**
* Header token field name
*/
static HeaderTokenField: string;
/**
* Admin support
* @param rq Request data
* @param payload Payload
* @returns Result
*/
adminSupport(rq: AdminSupportRQ, payload?: IApiPayload<IActionResult<LoginInputAuthResult>>): Promise<IActionResult<LoginInputAuthResult> | undefined>;
/**
* API refresh token
* @param rq Request data
* @param payload Payload
* @returns Result
*/
apiRefreshToken(rq: TokenInputRQ, payload?: IApiPayload<ApiRefreshTokenDto>): Promise<ApiRefreshTokenDto | undefined>;
/**
* Authorization request
* @param auth Authorization request data
* @param payload Payload
*/
authRequest(auth: AuthRequest, payload?: IApiPayload<string>): Promise<string | undefined>;
/**
* Change password
* @param oldPassword Ole password
* @param password New password
* @param payload Payload
* @returns Result
*/
changePassword(oldPassword: string, password: string, payload?: ResultPayload): Promise<IActionResult<{}> | undefined>;
/**
* Check user identifier
* @param type User identifier type
* @param openid Open ID
* @param payload Payload
* @returns Result
*/
checkUserIdentifier(type: CheckUserIdentifierRQ["type"], openid: CheckUserIdentifierRQ["openid"], payload?: IApiPayload<DataTypes.TristateEnum>): Promise<DataTypes.TristateEnum | undefined>;
/**
* Exchange token
* @param rq Request data
* @param payload Payload
* @returns Result
*/
exchangeToken(rq: TokenInputRQ, payload?: IApiPayload<ApiRefreshTokenDto>): Promise<ApiRefreshTokenDto | undefined>;
/**
* Get auth request
* @param deviceId Device ID
* @param payload Payload
* @param apiHost API host
* @returns Result
*/
getAuthRequest(deviceId?: string, payload?: IApiPayload<AuthRequest>, apiHost?: string): Promise<AuthRequest | undefined>;
/**
* Get log in url
* @param deviceId Device ID
* @param payload Payload
* @param apiHost API host
* @returns Result
*/
getLogInUrl(deviceId?: string, payload?: IApiPayload<string>, apiHost?: string): Promise<string | undefined>;
/**
* Login
* @param rq Request data
* @param payload Payload
* @param tokenKey Refresh token key
* @returns Result
*/
login<T extends IUser>(rq: LoginInputRQ, payload?: IApiPayload<IActionResult<T | LoginInputAuthResult>>, tokenKey?: string): Promise<[
IActionResult<T | LoginInputAuthResult> | undefined,
string | null
]>;
/**
* Login id check
* @param id Check id
* @param payload Payload
* @returns Result
*/
loginId(id: string, payload?: ResultPayload): Promise<IActionResult<{}> | undefined>;
/**
* Refresh token
* @param props Props
* @returns Result
*/
refreshToken<R>(props: RefreshTokenProps): Promise<RefreshTokenResult<R>>;
/**
* Reset password
* @param rq Request data
* @param payload Payload
* @returns Result
*/
resetPassword(rq: ResetPasswordInputRQ, payload?: ResultPayload): Promise<IActionResult<{}> | undefined>;
/**
* Signout
* @param rq Request data
* @param payload Payload
* @returns Result
*/
signout(rq: SignoutRQ, payload?: ResultPayload): Promise<IActionResult<{}> | undefined>;
/**
* Switch organization
* @param rq Request data
* @param tokenKey Refresh token key
* @param payload Payload
*/
switchOrg<T extends IUser>(rq: SwitchOrgRQ, payload?: IApiPayload<IActionResult<T>>, tokenKey?: string): Promise<[IActionResult<T> | undefined, string | null]>;
}