@elsikora/nestjs-crud-automator
Version:
A library for automating the creation of CRUD operations in NestJS.
29 lines (26 loc) • 950 B
JavaScript
;
/**
* Applies decision result transforms sequentially to a response payload.
* @template E - Entity type
* @template R - Result payload type
* @param {IApiAuthorizationDecision<E, R> | undefined} decision - Evaluated decision.
* @param {R} result - Result to transform.
* @returns {Promise<R>} Transformed payload.
*/
async function AuthorizationDecisionApplyResult(decision, result) {
if (!decision?.transforms.length) {
return result;
}
let transformedResult = result;
const context = {
permissions: decision.permissions,
principal: decision.principal,
resource: decision.resource,
};
for (const transform of decision.transforms) {
transformedResult = await transform(transformedResult, context);
}
return transformedResult;
}
exports.AuthorizationDecisionApplyResult = AuthorizationDecisionApplyResult;
//# sourceMappingURL=apply-result.utility.js.map