Fix postgres adapter
This commit is contained in:
parent
f56bbb44b0
commit
5b308b846e
|
@ -169,7 +169,7 @@ PG.prototype.all = function all(model, filter, callback) {
|
||||||
if (err) {
|
if (err) {
|
||||||
return callback(err, []);
|
return callback(err, []);
|
||||||
}
|
}
|
||||||
callback(err, filter && filter.where ? data.items.filter(applyFilter(filter)) : data.items);
|
callback(err, data.items);
|
||||||
}.bind(this));
|
}.bind(this));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -211,31 +211,6 @@ PG.prototype.toFilter = function (model, filter) {
|
||||||
return out;
|
return out;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
function applyFilter(filter) {
|
|
||||||
if (typeof filter.where === 'function') {
|
|
||||||
return filter;
|
|
||||||
}
|
|
||||||
var keys = Object.keys(filter.where);
|
|
||||||
return function (obj) {
|
|
||||||
var pass = true;
|
|
||||||
keys.forEach(function (key) {
|
|
||||||
if (!test(filter.where[key], obj[key])) {
|
|
||||||
pass = false;
|
|
||||||
}
|
|
||||||
});
|
|
||||||
return pass;
|
|
||||||
}
|
|
||||||
|
|
||||||
function test(example, value) {
|
|
||||||
if (typeof value === 'string' && example && example.constructor.name === 'RegExp') {
|
|
||||||
return value.match(example);
|
|
||||||
}
|
|
||||||
// not strict equality
|
|
||||||
return example == value;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
PG.prototype.destroyAll = function destroyAll(model, callback) {
|
PG.prototype.destroyAll = function destroyAll(model, callback) {
|
||||||
this.query('DELETE FROM "' + model + '"', function (err) {
|
this.query('DELETE FROM "' + model + '"', function (err) {
|
||||||
if (err) {
|
if (err) {
|
||||||
|
|
|
@ -347,7 +347,7 @@ function testOrm(schema) {
|
||||||
});
|
});
|
||||||
|
|
||||||
// matching regexp
|
// matching regexp
|
||||||
if (Post.schema.name === 'mysql') done(); else
|
if (Post.schema.name !== 'redis') done(); else
|
||||||
Post.all({where: {title: /hello/i}}, function (err, res) {
|
Post.all({where: {title: /hello/i}}, function (err, res) {
|
||||||
var pass = true;
|
var pass = true;
|
||||||
res.forEach(function (r) {
|
res.forEach(function (r) {
|
||||||
|
|
Loading…
Reference in New Issue