@elsikora/nestjs-crud-automator
Version:
A library for automating the creation of CRUD operations in NestJS.
15 lines (14 loc) • 1.16 kB
TypeScript
import { IApiBaseEntity } from '../../../../api-base-entity.interface';
import { IApiAuthorizationPolicyBuildOptions } from './build-options.interface';
import { IApiAuthorizationPolicyCacheOptions } from './cache-options.interface';
import { IApiAuthorizationPolicy } from './interface';
import { IApiAuthorizationPolicySubscriberRegistration } from './subscriber/registration.interface';
import { TApiAuthorizationPolicyHookResult } from '../../../../../type/class/api/authorization/policy/hook';
export interface IApiAuthorizationPolicyRegistry {
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;
}