|
14 | 14 |
|
15 | 15 | this.options = _.extend({}, defaults, options || {}); |
16 | 16 |
|
| 17 | + this.resolveOptions = function (options) { |
| 18 | + options = options || {}; |
| 19 | + if(this.options.oauth) { |
| 20 | + options.accessToken = this.options.apiToken; |
| 21 | + } |
| 22 | + return options; |
| 23 | + }; |
| 24 | + |
17 | 25 | return this; |
18 | 26 | } |
19 | 27 |
|
|
82 | 90 | // GET /items |
83 | 91 | RestHandlers.prototype.listItems = function(object, params, callback) { |
84 | 92 | var self = this, |
85 | | - paramsToSupply = _.extend({}, _.isObject(params) ? params : {}, this.options.apiToken ? { api_token: this.options.apiToken } : {}), |
| 93 | + paramsToSupply = _.extend({}, _.isObject(params) ? params : {}, this.options.apiToken && !this.options.oauth ? { api_token: this.options.apiToken } : {}), |
86 | 94 | dataObject = object == 'authorizations' ? { multipart: false, data: paramsToSupply } : { query: qs.stringify(paramsToSupply) }, |
87 | | - req = rest[object == 'authorizations' ? 'post' : 'get'](apiUrl(object, this.options, false), dataObject); |
| 95 | + req = rest[object == 'authorizations' ? 'post' : 'get'](apiUrl(object, this.options, false), this.resolveOptions(dataObject)); |
88 | 96 |
|
89 | 97 | req.on('complete', function(data, res) { |
90 | 98 | self.genericResponse('GET', object, data, callback, req, res); |
|
96 | 104 | // GET /items/find |
97 | 105 | RestHandlers.prototype.findItems = function(object, params, callback) { |
98 | 106 | var self = this, |
99 | | - paramsToSupply = _.extend({}, _.isObject(params) ? params : {}, this.options.apiToken ? { api_token: this.options.apiToken } : {}), |
| 107 | + paramsToSupply = _.extend({}, _.isObject(params) ? params : {}, this.options.apiToken && !this.options.oauth ? { api_token: this.options.apiToken } : {}), |
100 | 108 | dataObject = { query: qs.stringify(paramsToSupply) }, |
101 | | - req = rest.get(apiUrl(object + '/find', this.options, false), dataObject); |
| 109 | + req = rest.get(apiUrl(object + '/find', this.options, false), this.resolveOptions(dataObject)); |
102 | 110 |
|
103 | 111 | req.on('complete', function(data, res) { |
104 | 112 | self.genericResponse('GET', object, data, callback, req, res); |
|
110 | 118 | // GET /items/timeline |
111 | 119 | RestHandlers.prototype.timelineItems = function(object, params, callback) { |
112 | 120 | var self = this, |
113 | | - paramsToSupply = _.extend({}, _.isObject(params) ? params : {}, this.options.apiToken ? { api_token: this.options.apiToken } : {}), |
| 121 | + paramsToSupply = _.extend({}, _.isObject(params) ? params : {}, this.options.apiToken && !this.options.oauth ? { api_token: this.options.apiToken } : {}), |
114 | 122 | dataObject = { query: qs.stringify(paramsToSupply) }, |
115 | | - req = rest.get(apiUrl(object + '/timeline', this.options, false), dataObject); |
| 123 | + req = rest.get(apiUrl(object + '/timeline', this.options, false), this.resolveOptions(dataObject)); |
116 | 124 |
|
117 | 125 | req.on('complete', function(data, res) { |
118 | 126 | self.genericResponse('GET', object, data, callback, req, res); |
|
124 | 132 | // GET /searchResults/field |
125 | 133 | RestHandlers.prototype.searchFields = function(object, params, callback) { |
126 | 134 | var self = this, |
127 | | - paramsToSupply = _.extend({}, _.isObject(params) ? params : {}, this.options.apiToken ? { api_token: this.options.apiToken } : {}), |
| 135 | + paramsToSupply = _.extend({}, _.isObject(params) ? params : {}, this.options.apiToken && !this.options.oauth ? { api_token: this.options.apiToken } : {}), |
128 | 136 | dataObject = { query: qs.stringify(paramsToSupply) }, |
129 | | - req = rest.get(apiUrl(object + '/field', this.options, false), dataObject); |
| 137 | + req = rest.get(apiUrl(object + '/field', this.options, false), this.resolveOptions(dataObject)); |
130 | 138 |
|
131 | 139 | req.on('complete', function(data, res) { |
132 | 140 | self.genericResponse('GET', object, data, callback, req, res); |
|
138 | 146 | // GET /items/5 |
139 | 147 | RestHandlers.prototype.getItem = function(object, id, callback, params) { |
140 | 148 | var self = this, |
141 | | - paramsToSupply = _.extend({}, _.isObject(params) ? params : {}, this.options.apiToken ? { api_token: this.options.apiToken } : {}), |
142 | | - req = rest.get(apiUrl(object + '/' + id, this.options, false), { json: true, query: qs.stringify(paramsToSupply) }); |
| 149 | + paramsToSupply = _.extend({}, _.isObject(params) ? params : {}, this.options.apiToken && !this.options.oauth ? { api_token: this.options.apiToken } : {}), |
| 150 | + dataObject = { json: true, query: qs.stringify(paramsToSupply) }, |
| 151 | + req = rest.get(apiUrl(object + '/' + id, this.options, false), this.resolveOptions(dataObject)); |
143 | 152 |
|
144 | 153 | req.on('complete', function(data, res) { |
145 | 154 | self.genericResponse('GET', object, data, callback, req, res); |
|
153 | 162 | var self = this, |
154 | 163 | multipart_objects = ['files'], |
155 | 164 | multipart = (_.indexOf(multipart_objects, object) != -1), |
156 | | - req = rest.post(apiUrl(object, this.options, true), { json: true, multipart: multipart, data: params }); |
| 165 | + dataObject = { json: true, multipart: multipart, data: params }, |
| 166 | + req = rest.post(apiUrl(object, this.options, true), this.resolveOptions(dataObject)); |
157 | 167 |
|
158 | 168 | req.on('complete', function(data, res) { |
159 | 169 | self.genericResponse('POST', object, data, callback, req, res); |
|
165 | 175 | // PUT /items/5 |
166 | 176 | RestHandlers.prototype.editItem = function(itemId, object, params, callback) { |
167 | 177 | var self = this, |
168 | | - req = rest.put(apiUrl(object + '/' + itemId, this.options, true), { json: true, multipart: false, data: params }); |
| 178 | + dataObject = { json: true, multipart: false, data: params }, |
| 179 | + req = rest.put(apiUrl(object + '/' + itemId, this.options, true), this.resolveOptions(dataObject)); |
169 | 180 |
|
170 | 181 | req.on('complete', function(data, res) { |
171 | 182 | self.genericResponse('PUT', object, data, callback, req, res); |
|
177 | 188 | // DELETE /items/5 |
178 | 189 | RestHandlers.prototype.removeItem = function(itemId, object, params, callback) { |
179 | 190 | var self = this, |
180 | | - req = rest.del(apiUrl(itemId ? object + '/' + itemId : object, this.options, true), { json: true, multipart: false, data: (_.isObject(params) && !_.isFunction(params) ? params : { id: itemId }) }); |
| 191 | + dataObject = { json: true, multipart: false, data: (_.isObject(params) && !_.isFunction(params) ? params : { id: itemId }) }, |
| 192 | + req = rest.del(apiUrl(itemId ? object + '/' + itemId : object, this.options, true), this.resolveOptions(dataObject)); |
181 | 193 |
|
182 | 194 | req.on('complete', function(data, res) { |
183 | 195 | self.genericResponse('DELETE', object, data, (_.isFunction(params) ? params : callback), req, res); |
|
189 | 201 | // DELETE /items |
190 | 202 | RestHandlers.prototype.removeManyItems = function(itemIds, object, params, callback) { |
191 | 203 | var self = this, |
192 | | - req = rest.del(apiUrl(object, this.options, true), { json: true, multipart: false, data: (_.isObject(params) && !_.isFunction(params) ? params : { ids: itemIds }) }); |
| 204 | + dataObject = { json: true, multipart: false, data: (_.isObject(params) && !_.isFunction(params) ? params : { ids: itemIds }) }, |
| 205 | + req = rest.del(apiUrl(object, this.options, true), this.resolveOptions(dataObject)); |
193 | 206 |
|
194 | 207 | req.on('complete', function(data, res) { |
195 | 208 | self.genericResponse('DELETE', object, data, (_.isFunction(params) ? params : callback), req, res); |
|
205 | 218 | return false; |
206 | 219 | } |
207 | 220 | var self = this, |
208 | | - req = rest.post(apiUrl(object + '/' + whichId + '/merge', this.options, true), { json: true, multipart: false, data: { merge_with_id: withId } }); |
| 221 | + dataObject = { json: true, multipart: false, data: { merge_with_id: withId } }, |
| 222 | + req = rest.post(apiUrl(object + '/' + whichId + '/merge', this.options, true), this.resolveOptions(dataObject)); |
209 | 223 |
|
210 | 224 | req.on('complete', function(data, res) { |
211 | 225 | self.genericResponse('POST', object, data, callback, req, res); |
|
220 | 234 | } |
221 | 235 |
|
222 | 236 | var self = this, |
223 | | - req = rest.post(apiUrl(object + '/' + whichId + '/duplicate', this.options, true), { json: true, multipart: false, data: {} }); |
| 237 | + dataObject = { json: true, multipart: false, data: {} }, |
| 238 | + req = rest.post(apiUrl(object + '/' + whichId + '/duplicate', this.options, true), this.resolveOptions(dataObject)); |
224 | 239 |
|
225 | 240 | req.on('complete', function(data, res) { |
226 | 241 | self.genericResponse('POST', object, data, callback, req, res); |
|
0 commit comments