UNPKG

@elsikora/nestjs-crud-automator

Version:

A library for automating the creation of CRUD operations in NestJS.

32 lines (31 loc) 1.75 kB
import { EApiControllerGetListQueryPaginationMode } from '../../../../enum/decorator/api'; 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, M extends EApiControllerGetListQueryPaginationMode = EApiControllerGetListQueryPaginationMode.PAGE>(options: { action: string; attachments: IApiResolvedPolicyAttachments; documents: ReadonlyArray<IApiPolicyDocumentRecord>; policyNamespace: string; principal: IApiAuthorizationPrincipal; requestMetadata: IApiAuthorizationRequestMetadata<E, M>; 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; }