Return error if connector does not implement

* Return error if connector does not implement replaceById
* This patch is without globalization

Backport loopback-datasource-juggler#1034
This commit is contained in:
Amir Jafarian 2016-08-09 14:11:12 -04:00
parent 72b3179da1
commit 1b266bcf00
1 changed files with 7 additions and 2 deletions

View File

@ -2633,8 +2633,13 @@ DataAccessObject.replaceById = function(id, data, options, cb) {
assert(typeof cb === 'function', 'The cb argument must be a function');
var connector = this.getConnector();
assert(typeof connector.replaceById === 'function',
'replaceById() must be implemented by the connector');
if (typeof connector.replaceById !== 'function') {
var err = new Error('The connector ' + connector.name + ' does not support ' +
'replaceById operation. This is not a bug in LoopBack. ' +
'Please contact the authors of the connector, preferably via GitHub issues.');
return cb(err);
}
var pkName = idName(this);
if (!data[pkName]) data[pkName] = id;