Skip to content

Commit b7d342c

Browse files
updates for Readme. new tests
1 parent 143b0b6 commit b7d342c

2 files changed

Lines changed: 23 additions & 2 deletions

File tree

lib/postgresql-store.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -631,7 +631,6 @@ module.exports = function (opts) {
631631
var cnt = 0
632632
var params = []
633633
if (!_.isEmpty(w) && w.params.length > 0) {
634-
635634
for (var i in w.params) {
636635
var current_name = w.params[i]
637636
var current_value = w.values[i]
@@ -689,13 +688,23 @@ module.exports = function (opts) {
689688
if (!_.isArray(value)) {
690689
return 'Operator in$ accepts only Array as value'
691690
}
691+
value = _.clone(value)
692+
for (var index in value) {
693+
value[index] = "'" + value[index] + "'"
694+
}
695+
692696
params.push('"' + internals.escapeStr(internals.camelToSnakeCase(current_name)) + '"' + ' IN (' + value + ')')
693697
w.values.splice(i, 1)
694698
},
695699
'nin$': function (operator, value, params, w, i) {
696700
if (!_.isArray(value)) {
697701
return 'Operator nin$ accepts only Array as value'
698702
}
703+
704+
value = _.clone(value)
705+
for (var index in value) {
706+
value[index] = "'" + value[index] + "'"
707+
}
699708
params.push('"' + internals.escapeStr(internals.camelToSnakeCase(current_name)) + '"' + ' NOT IN (' + value + ')')
700709
w.values.splice(i, 1)
701710
}

test/postgres.test.js

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -197,7 +197,7 @@ describe('postgres store API V2.0.0', function () {
197197
it('use in$ string', function (done) {
198198
var product = si.make('product')
199199

200-
product.list$({ name: {in$: ["'pear'", "'cherry'"]}, sort$: {price: 1} }, function (err, lst) {
200+
product.list$({ name: {in$: ['cherry', 'pear']}, sort$: {price: 1} }, function (err, lst) {
201201
assert(!err)
202202

203203
assert.equal(2, lst.length)
@@ -265,5 +265,17 @@ describe('postgres store API V2.0.0', function () {
265265
})
266266
})
267267

268+
it('use nin$ string', function (done) {
269+
var product = si.make('product')
270+
271+
product.list$({ name: {nin$: ['cherry', 'pear']}, sort$: {price: 1} }, function (err, lst) {
272+
assert(!err)
273+
274+
assert.equal(1, lst.length)
275+
assert.equal('apple', lst[0].name)
276+
done()
277+
})
278+
})
279+
268280
})
269281

0 commit comments

Comments
 (0)