Skip to content

Commit

Permalink
adds ability to getRecord by external Id
Browse files Browse the repository at this point in the history
  • Loading branch information
kevinohara80 committed Apr 18, 2019
1 parent 28e27a6 commit 9367789
Show file tree
Hide file tree
Showing 3 changed files with 96 additions and 65 deletions.
11 changes: 10 additions & 1 deletion index.js
Expand Up @@ -516,9 +516,18 @@ Connection.prototype.getRecord = function(data, callback) {
var opts = this._getOpts(data, callback);
var type = (opts.sobject) ? opts.sobject.getType() : opts.type;
var id = (opts.sobject) ? opts.sobject.getId() : opts.id;
var externalId = (opts.sobject) ? opts.sobject.getExternalId() : opts.externalId;
var externalIdField = (opts.sobject) ? opts.sobject.getExternalIdField() : opts.externalIdField;
var resolver = promises.createResolver(opts.callback);

opts.resource = '/sobjects/' + type + '/' + id;
if (id) {
opts.resource = '/sobjects/' + type + '/' + id;
} else if(externalId && externalIdField) {
opts.resource = '/sobjects/' + type + '/' + externalIdField + '/' + externalId;
} else {
return resolver.reject(new Error('Either id, or externalIdField and externalId must be provided'));
}

opts.method = 'GET';

if(opts.fields) {
Expand Down
144 changes: 83 additions & 61 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions package.json
Expand Up @@ -19,10 +19,10 @@
},
"main": "index.js",
"dependencies": {
"faye": "1.2.3",
"lodash": "4.17.10",
"faye": "^1.2.4",
"lodash": "^4.17.11",
"mime": "1.4.1",
"request": "2.87.0"
"request": "^2.88.0"
},
"devDependencies": {
"body-parser": "^1.18.3",
Expand Down

0 comments on commit 9367789

Please sign in to comment.