UNPKG

@elsikora/nestjs-crud-automator

Version:

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

23 lines (22 loc) 1.33 kB
import type { IApiBaseEntity } from '../../../../interface/api-base-entity.interface'; import type { IApiAuthorizationPolicy, IApiAuthorizationPolicyRegistry, IApiAuthorizationPolicySubscriberRegistration } from '../../../../interface/class/api/authorization/index'; import type { TApiAuthorizationPolicyHookResult } from '../../../../type/class/api/authorization/policy/hook/index'; type TEntityConstructor<E extends IApiBaseEntity> = new () => E; export declare class ApiAuthorizationPolicyRegistry implements IApiAuthorizationPolicyRegistry { private readonly POLICY_CACHE; private readonly POLICY_REGISTRY; constructor(); buildAggregatedPolicy<E extends IApiBaseEntity, TAction extends string>(entity: TEntityConstructor<E>, action: TAction): Promise<IApiAuthorizationPolicy<E, TApiAuthorizationPolicyHookResult<TAction, E>> | undefined>; clear(): void; registerSubscriber<E extends IApiBaseEntity>(registration: IApiAuthorizationPolicySubscriberRegistration<E>): void; private cachePolicy; private createCacheKey; private getEntityName; private invalidateCacheForEntity; private normalizeRule; private resolvePolicyId; private resolveRouteType; private toBasePolicy; } export declare const apiAuthorizationPolicyRegistry: ApiAuthorizationPolicyRegistry; export {};