dobo-restproxy-jsonserver
Version:
Jsonserver support for Dabo Restproxy
26 lines (23 loc) • 741 B
JavaScript
const ops = ['lt', 'lte', 'gt', 'gte', 'ne']
async function recordFind ({ url, opts, ext, schema, filter = {}, options = {} } = {}) {
const { isPlainObject } = this.lib._
const query = filter.query ?? {}
for (const k in query) {
const v = query[k]
if (isPlainObject(v)) {
for (const k1 in v) {
const op = k1.slice(1)
if (!ops.includes(op)) continue
opts.params[`${k}_${op}`] = v[k1]
}
} else opts.params[k] = v
}
const sorts = []
for (const s in filter.sort) {
sorts.push(filter.sort[s] === -1 ? `-${s}` : s)
}
if (sorts.length > 0) opts.params._sort = sorts.join(',')
delete filter.sort
return { url, opts, ext }
}
export default recordFind