From c9f1cc6977854b7a7cbca68f96de63e3280c6234 Mon Sep 17 00:00:00 2001 From: Alexandre Bodin Date: Mon, 27 Sep 2021 08:29:15 +0200 Subject: [PATCH] Fix sanitze-entity components missing --- packages/core/utils/lib/sanitize-entity.js | 30 ++++++++++++---------- 1 file changed, 16 insertions(+), 14 deletions(-) diff --git a/packages/core/utils/lib/sanitize-entity.js b/packages/core/utils/lib/sanitize-entity.js index ba8f6b26c1..0168bc9bff 100644 --- a/packages/core/utils/lib/sanitize-entity.js +++ b/packages/core/utils/lib/sanitize-entity.js @@ -48,9 +48,9 @@ const sanitizeEntity = (dataSource, options) => { } // Relations - const isRelation = attribute && attribute.type === 'relation'; + const isRelation = attribute && ['relation', 'component'].includes(attribute.type); if (isRelation) { - const relation = attribute && attribute.target; + const relation = attribute && (attribute.target || attribute.component); if (_.isNil(value)) { return { ...acc, [key]: value }; @@ -128,18 +128,20 @@ const getAllowedFields = ({ includeFields, model, isOutput }) => { const nonVisibleWritableAttributes = _.intersection(writableAttributes, nonVisibleAttributes); - return _.concat( - includeFields || [], - ...(isOutput - ? [ - STATIC_FIELDS, - CREATED_AT_ATTRIBUTE, - UPDATED_AT_ATTRIBUTE, - COMPONENT_FIELDS, - ...nonWritableAttributes, - ...nonVisibleAttributes, - ] - : [STATIC_FIELDS, COMPONENT_FIELDS, ...nonVisibleWritableAttributes]) + return _.uniq( + _.concat( + includeFields || [], + ...(isOutput + ? [ + STATIC_FIELDS, + CREATED_AT_ATTRIBUTE, + UPDATED_AT_ATTRIBUTE, + COMPONENT_FIELDS, + ...nonWritableAttributes, + ...nonVisibleAttributes, + ] + : [STATIC_FIELDS, COMPONENT_FIELDS, ...nonVisibleWritableAttributes]) + ) ); };