@adonis-cockpit/lucid-filter
Version:
Additional drivers for @adonisjs/ally package
16 lines (15 loc) • 488 B
JavaScript
export function filterQuery(query, filter) {
if ("or" in filter) {
return query.orWhere((q) => filterQuery(q, filter.or));
}
if ("and" in filter) {
return query.andWhere((q) => filterQuery(q, filter.and));
}
if (filter.operator === "equals") {
return query.where(filter.property, "=", filter.value);
}
if (filter.operator === "contains") {
return query.whereLike(filter.property, `%${filter.value}%`);
}
return query;
}