objection
Version:
An SQL-friendly ORM for Node.js
30 lines (23 loc) • 711 B
JavaScript
;
const jsonApi = require('./postgresJsonApi');
const { ObjectionToKnexConvertingOperation } = require('../ObjectionToKnexConvertingOperation');
class WhereJsonHasPostgresOperation extends ObjectionToKnexConvertingOperation {
onBuildKnex(knexBuilder, builder) {
const args = this.getKnexArgs(builder);
const sql = jsonApi.whereJsonFieldRightStringArrayOnLeftQuery(
builder.knex(),
args[0],
this.opt.operator,
args[1],
);
if (this.opt.bool === 'or') {
knexBuilder = knexBuilder.orWhereRaw(sql);
} else {
knexBuilder = knexBuilder.whereRaw(sql);
}
return knexBuilder;
}
}
module.exports = {
WhereJsonHasPostgresOperation,
};