Autoconvert filters with * to LIKE queryies

This commit is contained in:
Rich Lott / Artful Robot 2023-10-26 10:44:43 +01:00
parent 4389fd72c2
commit 5b7e382347

View file

@ -112,6 +112,14 @@ function getFilterQuery(filters: QueryFilters = {}, options: QueryOptions = {}):
const column = FILTER_COLUMNS[name] ?? options?.columns?.[name]; const column = FILTER_COLUMNS[name] ?? options?.columns?.[name];
if (value !== undefined && column) { if (value !== undefined && column) {
if (value?.value) {
if (typeof value.value === 'string' && value.value.indexOf('*') > -1) {
// If input contains *, convert to a LIKE
value.value = value.value.replace(/%/, '\\%').replace('*', '%');
value.filter = OPERATORS.like;
}
}
arr.push(`and ${mapFilter(column, operator, name)}`); arr.push(`and ${mapFilter(column, operator, name)}`);
if (name === 'referrer') { if (name === 'referrer') {