Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
@skava/packages / core / auth / session / container.d.ts
Size: Mime:
import { UpdatePasswordParams, RegistrationResponse, SecurityVerificationDetails, UserResponse, UpdateProfileInput, UpdateSecurityInput, ResetByEmailInput, ValidateByEmailInput, UserActivationInput, ResetBySecurityQuestions as ResetBySecurityQuestionsInput, UserLoginInput } from '@skava/graphql-bindings';
import { ObservableContainer } from '@skava/packages/libraries/observable-container';
import { AccountRegisterInput } from './typings';
import { sessionApis } from './container.apis';
import { checkIsSessionExpired, mapCookiesOnResponse, checkSessionExpiredOnMyAccount } from './deps';
declare class SessionContainer extends ObservableContainer {
    static debugName: string;
    navigateBackTo: string;
    readonly guestUserCookie: string | undefined;
    readonly hasGuestUserCookie: boolean;
    readonly hasOrchestrationGuestUserCookie: boolean;
    /**
     * @@packages @james may want to change this flow because session should not import user?
     */
    readonly isGuestUser: boolean;
    readonly isOrchestrationGuestUser: boolean;
    readonly isRegisteredUser: boolean;
    readonly hasUserCookie: boolean;
    readonly userCookie: string | undefined;
    readonly userName: string;
    readonly isBuyerAdminUser: boolean;
    readonly isBuyerUser: boolean;
    registerUser: (data: RegistrationResponse, securityParams: SecurityVerificationDetails) => Promise<void>;
    getAllListAPI: () => Promise<void>;
    /**
     * @todo @fixme this is to be done on graphql side!!!
     */
    adminRegisterAccount: (data: AccountRegisterInput) => Promise<void>;
    updateProfile: (profileData: UpdateProfileInput) => Promise<void | import("../../../../typings").RecursiveRequired<import("@skava/graphql-bindings").AccountRegisterResponse>>;
    updateSecurity: (data: UpdateSecurityInput) => Promise<void | import("../../../../typings").RecursiveRequired<RegistrationResponse>>;
    getSecurityQuestions: (data: UpdateSecurityInput) => Promise<void | import("../../../../typings").RecursiveRequired<import("@skava/graphql-bindings").GetSecurityQuestionResponse>>;
    resetPasswordThroughSms: (data: UpdateSecurityInput) => Promise<void | import("../../../../typings").RecursiveRequired<import("@skava/graphql-bindings").ResetPasswordResponse>>;
    resetPasswordThroughEmail: (data: ResetByEmailInput) => Promise<void | import("../../../../typings").RecursiveRequired<import("@skava/graphql-bindings").ResetPasswordResponse>>;
    validateByEmail: (data: ValidateByEmailInput) => Promise<void | import("../../../../typings").RecursiveRequired<import("@skava/graphql-bindings").ResetPasswordResponse>>;
    userActivation: (data: UserActivationInput) => Promise<void | import("../../../../typings").RecursiveRequired<import("@skava/graphql-bindings").UserActivationResponse>>;
    resetPasswordThroughSecurityQuestions: (data: ResetBySecurityQuestionsInput) => Promise<void | import("../../../../typings").RecursiveRequired<import("@skava/graphql-bindings").ResetBySecurityQuestionsResponse>>;
    updatePassword: (password: UpdatePasswordParams) => Promise<void | import("../../../../typings").RecursiveRequired<import("@skava/graphql-bindings").UpdatePasswordResponse>>;
    registerGuestUser: () => Promise<false | void>;
    /**
     * @todo show toast
     */
    logOut: () => Promise<void>;
    handleLoginResponse: (response: UserResponse) => boolean;
    handleRegisterResponse: (response: UserResponse) => UserResponse;
    logIn: (data: UserLoginInput) => Promise<any>;
    loginWithFacebook: (data: UserLoginInput) => Promise<void>;
    loginWithTwitter: (data: UserLoginInput) => Promise<void>;
    loginWithGoogle: (data: UserLoginInput) => Promise<void>;
    getTokenAuth: () => Promise<import("../../../../typings").RecursiveRequired<import("@skava/graphql-bindings").TwitterAuthTokenResponse>>;
    fetchProfile: () => Promise<void | UserResponse>;
    /**
     * @desc much better perf to bind early
     * @see https://mobx.js.org/best/react-performance.html#bind-functions-early
     */
    handleError(error: Error): void;
    /**
     * @desc this is in parallel, to not block requests
     */
    afterRegisterUser: () => Promise<void>;
    navigateToLoginSuccess(isFromTwitter?: boolean): void;
    /**
     * moved out of flow to avoid guarenteed deopt
     */
    _flow: () => Promise<void>;
    /**
     * @see https://github.com/petkaantonov/bluebird/wiki/Optimization-killers
     * @see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/try...catch
     * @see https://github.com/aretecode/awesome-deopt
     * ^ regarding try catch issues
     */
    flow: () => Promise<void>;
}
declare const sessionContainer: SessionContainer;
export default sessionContainer;
export { sessionContainer, SessionContainer, sessionApis, mapCookiesOnResponse, checkIsSessionExpired, checkSessionExpiredOnMyAccount, };