UNPKG

@elsikora/nestjs-crud-automator

Version:

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

31 lines (30 loc) 1.9 kB
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>(entity: new () => E, action: TAction, options?: IApiAuthorizationPolicyBuildOptions<E>): Promise<IApiAuthorizationPolicy<E, TApiAuthorizationPolicyHookResult<TAction, E>> | undefined>; clear(): void; configureCache(options?: IApiAuthorizationPolicyCacheOptions): void; hasSubscriberForEntity(entity: new () => IApiBaseEntity): boolean; invalidateCache(entity?: new () => IApiBaseEntity): void; registerSubscriber<E extends IApiBaseEntity>(registration: IApiAuthorizationPolicySubscriberRegistration<E>): 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;