mongodb-dynamic-api
Version:
Auto generated CRUD API for MongoDB using NestJS
30 lines • 1.4 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.getMixinData = void 0;
const lodash_1 = require("lodash");
const controller_ability_predicates_helper_1 = require("./controller-ability-predicates.helper");
const format_helper_1 = require("./format.helper");
function getMixinData(entity, { apiTag, isPublic: isPublicController, abilityPredicates: controllerAbilityPredicates, }, { type: routeType, subPath, description, isPublic: isPublicRoute, abilityPredicate: routeAbilityPredicate, eventName, }, isGateway = false) {
const displayedName = (0, format_helper_1.getDisplayedName)(apiTag, entity.name, subPath);
let isPublic;
if (typeof isPublicRoute === 'boolean') {
isPublic = isPublicRoute;
}
else if (typeof isPublicController === 'boolean') {
isPublic = isPublicController;
}
else {
isPublic = false;
}
const abilityPredicate = routeAbilityPredicate ?? (0, controller_ability_predicates_helper_1.getPredicateFromControllerAbilityPredicates)(controllerAbilityPredicates, routeType);
return {
routeType,
displayedName,
description,
isPublic,
abilityPredicate,
...(isGateway && { event: eventName ?? (0, lodash_1.kebabCase)(`${routeType}/${displayedName}`) }),
};
}
exports.getMixinData = getMixinData;
//# sourceMappingURL=mixin-data.helper.js.map