UNPKG

@elsikora/nestjs-crud-automator

Version:

A library for automating the creation of CRUD operations in NestJS.

32 lines (31 loc) 2.19 kB
import { EApiControllerGetListQueryPaginationMode } from '../../../../enum/decorator/api'; import { IApiBaseEntity } from '../../../../interface/api-base-entity.interface'; import { IApiAuthorizationPolicy, IApiAuthorizationPolicyRegistry, IApiAuthorizationPolicySubscriberRegistration } from '../../../../interface/class/api/authorization'; import { IApiAuthorizationPolicyBuildOptions } from '../../../../interface/class/api/authorization/policy/build-options.interface'; import { IApiAuthorizationPolicyCacheOptions } from '../../../../interface/class/api/authorization/policy/cache-options.interface'; import { TApiAuthorizationPolicyHookResult } from '../../../../type/class/api/authorization/policy/hook'; export declare class ApiAuthorizationPolicyRegistry implements IApiAuthorizationPolicyRegistry { private cacheOptions; private readonly POLICY_REGISTRY; private readonly POLICY_RULE_CACHE; constructor(); buildAggregatedPolicy<E extends IApiBaseEntity, TAction extends string, M extends EApiControllerGetListQueryPaginationMode = EApiControllerGetListQueryPaginationMode.PAGE>(entity: new () => E, action: TAction, options?: IApiAuthorizationPolicyBuildOptions<E, M>): Promise<IApiAuthorizationPolicy<E, TApiAuthorizationPolicyHookResult<TAction, E, M>> | undefined>; clear(): void; configureCache(options?: IApiAuthorizationPolicyCacheOptions): void; hasSubscriberForEntity(entity: new () => IApiBaseEntity): boolean; invalidateCache(entity?: new () => IApiBaseEntity): void; registerSubscriber<E extends IApiBaseEntity, M extends EApiControllerGetListQueryPaginationMode = EApiControllerGetListQueryPaginationMode.PAGE>(registration: IApiAuthorizationPolicySubscriberRegistration<E, M>): void; private cacheRules; private createPolicyCacheKey; private getCachedRules; private getEntityName; private getSubscriberName; private invalidateCacheForEntity; private isCacheExpired; private normalizeRule; private resolveCacheOptions; private resolvePolicyId; private resolvePolicyRules; private resolvePrincipal; } export declare const apiAuthorizationPolicyRegistry: ApiAuthorizationPolicyRegistry;