@weverson_na/prisma-generator-nestjs-dto
Version:
Advanced Prisma Generator with Smart Merge v2: Creates DTO and Entity classes with AST-based preservation, intelligent import management, and modular architecture for NestJS
38 lines (37 loc) • 1.92 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.computeUpdateDtoParams = exports.UpdateDtoParamsComputer = void 0;
const base_model_params_computer_1 = require("./base-model-params-computer");
const update_dto_field_config_1 = require("./configs/update-dto-field-config");
class UpdateDtoParamsComputer extends base_model_params_computer_1.BaseModelParamsComputer {
constructor(templateHelpers, customDecoratorConfigsPath) {
super(templateHelpers, customDecoratorConfigsPath);
this.customDecoratorConfigsPath = customDecoratorConfigsPath;
this.fieldConfig = new update_dto_field_config_1.UpdateDtoFieldConfig(templateHelpers);
}
getFieldConfig() {
return this.fieldConfig;
}
computeParams(model, allModels, addExposePropertyDecorator) {
const fieldsWithoutIds = model.fields.filter((field) => !field.isId);
const modelWithoutIds = {
...model,
fields: fieldsWithoutIds,
};
const fieldResult = this.processModelFields(modelWithoutIds, allModels, addExposePropertyDecorator);
const imports = this.finalizeImports(fieldResult.imports, fieldResult.fields, fieldResult.apiExtraModels.length > 0, fieldResult.hasEnum);
return {
model,
fields: fieldResult.fields,
imports,
extraClasses: fieldResult.extraClasses,
apiExtraModels: fieldResult.apiExtraModels,
};
}
}
exports.UpdateDtoParamsComputer = UpdateDtoParamsComputer;
const computeUpdateDtoParams = ({ model, allModels, templateHelpers, addExposePropertyDecorator, customDecoratorConfigsPath, }) => {
const computer = new UpdateDtoParamsComputer(templateHelpers, customDecoratorConfigsPath);
return computer.computeParams(model, allModels, addExposePropertyDecorator);
};
exports.computeUpdateDtoParams = computeUpdateDtoParams;