From 50a68e9f45eaa898f551237651998977bc123e9a Mon Sep 17 00:00:00 2001 From: Alexandre Bodin Date: Tue, 3 Nov 2020 17:19:43 +0100 Subject: [PATCH] In sanitize input leave input data as is if model is not found Signed-off-by: Alexandre Bodin --- .../lib/__tests__/sanitize-entity.test.js | 11 ++++++++--- packages/strapi-utils/lib/sanitize-entity.js | 6 +++++- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/packages/strapi-utils/lib/__tests__/sanitize-entity.test.js b/packages/strapi-utils/lib/__tests__/sanitize-entity.test.js index 6cdd860991..3e79d1c371 100644 --- a/packages/strapi-utils/lib/__tests__/sanitize-entity.test.js +++ b/packages/strapi-utils/lib/__tests__/sanitize-entity.test.js @@ -290,9 +290,14 @@ describe('Sanitize Entity', () => { }); describe('Edge cases', () => { - test('It returns data if the model is nil', () => { - expect(sanitizeEntity(input, { model: null })).toEqual(input); - expect(sanitizeEntity(input, { model: undefined })).toEqual(input); + test('It returns the input data if the model is nil and isOutput false', () => { + expect(sanitizeEntity(input, { model: null, isOutput: false })).toEqual(input); + expect(sanitizeEntity(input, { model: undefined, isOutput: false })).toEqual(input); + }); + + test('It returns null if the model is nil and isOutput true', () => { + expect(sanitizeEntity(input, { model: null })).toBeNull(); + expect(sanitizeEntity(input, { model: undefined })).toBeNull(); }); test(`It returns the input data as-is if it's not an object or an array`, () => { diff --git a/packages/strapi-utils/lib/sanitize-entity.js b/packages/strapi-utils/lib/sanitize-entity.js index f537043b1a..7574af7d82 100644 --- a/packages/strapi-utils/lib/sanitize-entity.js +++ b/packages/strapi-utils/lib/sanitize-entity.js @@ -28,7 +28,11 @@ const sanitizeEntity = (dataSource, options) => { } if (_.isNil(model)) { - return data; + if (isOutput) { + return null; + } else { + return data; + } } const { attributes } = model;