In sanitize input leave input data as is if model is not found

Signed-off-by: Alexandre Bodin <bodin.alex@gmail.com>
This commit is contained in:
Alexandre Bodin 2020-11-03 17:19:43 +01:00
parent ac2cbcd90e
commit 50a68e9f45
2 changed files with 13 additions and 4 deletions

View File

@ -290,9 +290,14 @@ describe('Sanitize Entity', () => {
}); });
describe('Edge cases', () => { describe('Edge cases', () => {
test('It returns data if the model is nil', () => { test('It returns the input data if the model is nil and isOutput false', () => {
expect(sanitizeEntity(input, { model: null })).toEqual(input); expect(sanitizeEntity(input, { model: null, isOutput: false })).toEqual(input);
expect(sanitizeEntity(input, { model: undefined })).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`, () => { test(`It returns the input data as-is if it's not an object or an array`, () => {

View File

@ -28,8 +28,12 @@ const sanitizeEntity = (dataSource, options) => {
} }
if (_.isNil(model)) { if (_.isNil(model)) {
if (isOutput) {
return null;
} else {
return data; return data;
} }
}
const { attributes } = model; const { attributes } = model;
const allowedFields = getAllowedFields({ includeFields, model, isOutput }); const allowedFields = getAllowedFields({ includeFields, model, isOutput });