@elsikora/nestjs-crud-automator
Version:
A library for automating the creation of CRUD operations in NestJS.
31 lines (30 loc) • 1.56 kB
TypeScript
import { IApiBaseEntity } from '../../../../interface/api-base-entity.interface';
import { IApiAuthorizationDecision, IApiAuthorizationPrincipal, IApiAuthorizationRequestMetadata, IApiAuthorizationResourceDefinition, IApiPolicyDocumentRecord, IApiResolvedPolicyAttachments } from '../../../../interface/class/api/authorization';
import { TApiAuthorizationRuleTransformPayload } from '../../../../type/class/api/authorization/rule/transform-payload.type';
import { ApiAuthorizationIamQueryPlanner } from './query-planner.class';
export declare class ApiAuthorizationIamEngine {
private readonly queryPlanner;
constructor(queryPlanner: ApiAuthorizationIamQueryPlanner);
evaluate<E extends IApiBaseEntity>(options: {
action: string;
attachments: IApiResolvedPolicyAttachments;
documents: ReadonlyArray<IApiPolicyDocumentRecord>;
policyNamespace: string;
principal: IApiAuthorizationPrincipal;
requestMetadata: IApiAuthorizationRequestMetadata<E>;
resource?: E;
resourceDefinition: IApiAuthorizationResourceDefinition<E>;
}): Promise<IApiAuthorizationDecision<E, TApiAuthorizationRuleTransformPayload<E>>>;
private buildDecision;
private evaluateDocumentSet;
private evaluateOperator;
private isRecord;
private isStatementMatched;
private matchesWildcardPattern;
private mergeScopes;
private normalizeComparable;
private resolveConditionValue;
private resolveDocumentRecord;
private resolvePathValue;
private resolveResourceString;
}