|
|
|
@ -55,6 +55,12 @@ function addFilters( |
|
|
|
query = query[fnc](key, "ilike", `${value}%`) |
|
|
|
}) |
|
|
|
} |
|
|
|
if (filters.fuzzy) { |
|
|
|
iterate(filters.fuzzy, (key, value) => { |
|
|
|
const fnc = allOr ? "orWhere" : "where" |
|
|
|
query = query[fnc](key, "ilike", `%${value}%`) |
|
|
|
}) |
|
|
|
} |
|
|
|
if (filters.range) { |
|
|
|
iterate(filters.range, (key, value) => { |
|
|
|
if (!value.high || !value.low) { |
|
|
|
@ -135,6 +141,12 @@ function buildCreate( |
|
|
|
const { endpoint, body } = json |
|
|
|
let query: KnexQuery = knex(endpoint.entityId) |
|
|
|
const parsedBody = parseBody(body) |
|
|
|
// make sure no null values in body for creation
|
|
|
|
for (let [key, value] of Object.entries(parsedBody)) { |
|
|
|
if (value == null) { |
|
|
|
delete parsedBody[key] |
|
|
|
} |
|
|
|
} |
|
|
|
// mysql can't use returning
|
|
|
|
if (opts.disableReturning) { |
|
|
|
return query.insert(parsedBody) |
|
|
|
|