@elsikora/nestjs-crud-automator
Version:
A library for automating the creation of CRUD operations in NestJS.
23 lines (22 loc) • 1.33 kB
TypeScript
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 {};