mirror of
https://github.com/strapi/strapi.git
synced 2025-12-28 07:33:17 +00:00
avoid breaking change by casting boolean value all the time
This commit is contained in:
parent
ef0cb82192
commit
62f7b1dc20
@ -8,7 +8,6 @@ const { has, isEmpty, isObject, cloneDeep, get } = require('lodash/fp');
|
||||
const _ = require('lodash');
|
||||
const parseType = require('./parse-type');
|
||||
const contentTypesUtils = require('./content-types');
|
||||
const { ApplicationError } = require('./errors');
|
||||
|
||||
const { PUBLISHED_AT_ATTRIBUTE } = contentTypesUtils.constants;
|
||||
|
||||
@ -291,11 +290,7 @@ const convertAndSanitizeFilters = (filters, schema) => {
|
||||
if (isObject(value)) {
|
||||
filters[key] = convertAndSanitizeFilters(value, schema);
|
||||
} else if (['$null', '$notNull'].includes(key)) {
|
||||
try {
|
||||
filters[key] = parseType({ type: 'boolean', value: filters[key] });
|
||||
} catch (e) {
|
||||
throw new ApplicationError(e.message);
|
||||
}
|
||||
filters[key] = parseType({ type: 'boolean', value: filters[key], forceCast: true });
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -57,7 +57,7 @@ const parseDateTimeOrTimestamp = value => {
|
||||
* @param {string} options.type - type of the atribute
|
||||
* @param {*} options.value - value tu cast
|
||||
*/
|
||||
const parseType = ({ type, value }) => {
|
||||
const parseType = ({ type, value, forceCast = false }) => {
|
||||
switch (type) {
|
||||
case 'boolean': {
|
||||
if (typeof value === 'boolean') return value;
|
||||
@ -70,6 +70,10 @@ const parseType = ({ type, value }) => {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (forceCast) {
|
||||
return Boolean(value);
|
||||
}
|
||||
|
||||
throw new Error('Invalid boolean input. Expected "t","1","true","false","0","f"');
|
||||
}
|
||||
case 'integer':
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user