|
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