diff --git a/packages/api/src/controllers/baseController.js b/packages/api/src/controllers/baseController.js index c738de26cc..bd7c1b43a5 100644 --- a/packages/api/src/controllers/baseController.js +++ b/packages/api/src/controllers/baseController.js @@ -27,6 +27,21 @@ function removeAdditionalProperties(model, data) { return lodash.pick(data, Object.keys(model.jsonSchema.properties)); } +function removeAdditionalPropertiesWithRelations(model, data) { + const modelKeys = Object.keys(model.jsonSchema.properties); + const relationKeys = Object.keys(model.relationMappings || {}); + + if (Array.isArray(data)) { + const arrayWithoutAdditionalProperties = data.map((obj) => { + return lodash.pick(obj, [...modelKeys, ...relationKeys]); + }); + return arrayWithoutAdditionalProperties; + } + //remove all the unnecessary properties + + return lodash.pick(data, [...modelKeys, ...relationKeys]); +} + export default { async get(model) { if (model.isSoftDelete) {