strapi-plugin-content-manager
Version:
A powerful UI to easily manage your data.
28 lines (19 loc) • 624 B
JavaScript
import { get } from 'lodash';
const formatFilterName = (name, metadatas) => {
const mainField = get(metadatas, [name, 'list', 'mainField', 'name'], null);
if (mainField) {
return `${name}.${mainField}`;
}
return name;
};
const formatFiltersToQuery = (array, metadatas) => {
const nextFilters = array.map(({ name, filter, value }) => {
const formattedName = formatFilterName(name, metadatas);
if (filter === '=') {
return { [formattedName]: value };
}
return { [`${formattedName}${filter}`]: value };
});
return { _where: nextFilters };
};
export default formatFiltersToQuery;