UNPKG

@controladad/ng-base

Version:
54 lines (53 loc) 2.1 kB
import { Observable } from 'rxjs'; import { Router } from '@angular/router'; import { BaseStore } from './_base.store'; import { StateStorage } from '@ngneat/elf-persist-state'; import { AppBaseStore } from './app-base.store'; import * as i0 from "@angular/core"; export interface AuthBaseStoreProps<USER> { token?: string; user?: USER; } export interface AuthBaseStoreLoginModel { username: string; password: string; rememberMe?: boolean; } export declare const AuthStorageEngine: StateStorage; export declare class _AuthBaseStore<T extends AuthBaseStoreProps<any>, L extends AuthBaseStoreLoginModel> extends BaseStore<T> { opts: { loginApi: (model: L) => Observable<T>; meApi: () => Observable<T['user']>; }; protected router: Router; protected app: AppBaseStore; private readonly snackbar; constructor(opts?: { loginApi: (model: L) => Observable<T>; meApi: () => Observable<T['user']>; }); isAuthenticatedSignal: import("@angular/core").Signal<boolean>; isLoggedInSignal: import("@angular/core").Signal<boolean>; permissionKeysSignal: import("@angular/core").Signal<string[]>; isAuthenticated$: Observable<boolean>; isLoggedIn$: Observable<boolean>; permissionKeys$: Observable<string[]>; isAuthenticated(state?: T): boolean; isLoggedIn(state?: T): boolean; isSuper(): boolean; permissionKeys(state?: T): string[]; login(model: L): Observable<T>; logout(optionalNavigate?: boolean): Promise<boolean>; /** * * @param intervalPeriod ms - if provided, it will call the refresh within that interval repeatedly */ refresh(intervalPeriod?: number): Observable<boolean>; protected checkLoginValidity(result: T): Observable<T>; protected isForbiddenToEnter(state: T): boolean; } export declare class AuthBaseStore extends _AuthBaseStore<AuthBaseStoreProps<any>, AuthBaseStoreLoginModel> { constructor(); static ɵfac: i0.ɵɵFactoryDeclaration<AuthBaseStore, never>; static ɵprov: i0.ɵɵInjectableDeclaration<AuthBaseStore>; }