@elsikora/nestjs-crud-automator
Version:
A library for automating the creation of CRUD operations in NestJS.
18 lines (17 loc) • 889 B
TypeScript
import type { EAuthorizationEffect } from '../../../../enum/class/authorization/effect.enum';
import type { IApiBaseEntity } from '../../../api-base-entity.interface';
import type { IApiAuthorizationRule } from './rule/interface';
import type { IApiAuthorizationScope } from './scope.interface';
import type { IApiAuthorizationSubject } from './subject.interface';
import type { 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: EAuthorizationEffect;
policyId: string;
resource?: E;
resourceType: string;
scope?: IApiAuthorizationScope<E>;
subject: IApiAuthorizationSubject;
transforms: Array<TApiAuthorizationRuleResultTransform<E, R>>;
}