@elsikora/nestjs-crud-automator
Version:
A library for automating the creation of CRUD operations in NestJS.
23 lines (22 loc) • 1.1 kB
TypeScript
import { EApiAuthorizationMode, EApiPolicyEffect } from '../../../../../enum/class/authorization';
import { IApiBaseEntity } from '../../../../api-base-entity.interface';
import { IApiAuthorizationDecisionTrace } from './trace.interface';
import { IApiAuthorizationPrincipal } from '../principal/interface';
import { IApiAuthorizationRule } from '../rule/interface';
import { IApiAuthorizationScope } from '../scope.interface';
import { TApiAuthorizationRuleResultTransform } from '../../../../../type/class/api/authorization/rule/result-transform.type';
export interface IApiAuthorizationDecision<E extends IApiBaseEntity, R> {
action: string;
appliedRules: Array<IApiAuthorizationRule<E, R>>;
effect: EApiPolicyEffect;
mode: EApiAuthorizationMode;
permissions: ReadonlyArray<string>;
policyId: string;
policyIds: Array<string>;
principal: IApiAuthorizationPrincipal;
resource?: E;
resourceType: string;
scope?: IApiAuthorizationScope<E>;
trace: IApiAuthorizationDecisionTrace;
transforms: Array<TApiAuthorizationRuleResultTransform<E, R>>;
}