es6 changes for npr one module
This commit is contained in:
parent
e6114d3907
commit
2a3d76914e
1 changed files with 73 additions and 81 deletions
154
lib/one.js
154
lib/one.js
|
|
@ -1,90 +1,82 @@
|
|||
/************************ DEPENDENCIES *****************************/
|
||||
var util = require('util'),
|
||||
bunyan = require('bunyan'),
|
||||
helpers = require('./helpers'),
|
||||
swagger = require('swagger-client');
|
||||
'use strict';
|
||||
|
||||
var proto = One.prototype;
|
||||
exports = module.exports = One;
|
||||
const bunyan = require('bunyan'),
|
||||
helpers = require('./helpers'),
|
||||
Swagger = require('swagger-client');
|
||||
|
||||
/************************* CONSTRUCTOR ****************************/
|
||||
function One(config) {
|
||||
class One {
|
||||
|
||||
if (! (this instanceof One))
|
||||
return new One(config);
|
||||
constructor(config) {
|
||||
|
||||
util._extend(this, config || {});
|
||||
this.token = false;
|
||||
this.swagger_url = 'https://api.npr.org/documentation/beryllium/api-docs';
|
||||
this.log = false;
|
||||
|
||||
if(! this.log)
|
||||
this.log = bunyan.createLogger({name: 'npr-one'});
|
||||
Object.assign(this, config || {});
|
||||
|
||||
// silence swagger log output
|
||||
process.env.NODE_ENV = 'test';
|
||||
if(! this.log)
|
||||
this.log = bunyan.createLogger({name: 'npr-one'});
|
||||
|
||||
// silence swagger log output
|
||||
process.env.NODE_ENV = 'test';
|
||||
|
||||
}
|
||||
|
||||
init(token) {
|
||||
|
||||
if(token)
|
||||
this.setAccessToken(token);
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
const client = new Swagger({
|
||||
url: this.swagger_url,
|
||||
success: () => {
|
||||
this.client = client;
|
||||
helpers.processSwagger(this);
|
||||
resolve(this);
|
||||
},
|
||||
failure: () => {
|
||||
reject('swagger init failed');
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
setAccessToken(token) {
|
||||
|
||||
this.token = token;
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
if(! this.token)
|
||||
return reject('no token supplied');
|
||||
|
||||
const auth = new Swagger.ApiKeyAuthorization('Authorization', `Bearer ${token}`, 'header');
|
||||
|
||||
this.client.clientAuthorizations.add('oauth2', auth);
|
||||
|
||||
resolve();
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
getAccessToken() {
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
|
||||
if(! this.token)
|
||||
return reject('no token supplied');
|
||||
|
||||
resolve(this.token);
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/*************************** DEFAULTS *****************************/
|
||||
proto.token = false;
|
||||
proto.swagger_url = 'https://api.npr.org/documentation/beryllium/api-docs';
|
||||
proto.log = false;
|
||||
|
||||
proto.init = function(token) {
|
||||
|
||||
var self = this;
|
||||
|
||||
if(token)
|
||||
this.setAccessToken(token);
|
||||
|
||||
return new Promise(function(resolve, reject) {
|
||||
|
||||
var client = new swagger({
|
||||
url: self.swagger_url,
|
||||
success: function() {
|
||||
self.client = client;
|
||||
helpers.processSwagger(self);
|
||||
resolve(self);
|
||||
},
|
||||
failure: function() {
|
||||
reject('swagger init failed');
|
||||
}
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
proto.setAccessToken = function(token) {
|
||||
|
||||
var self = this;
|
||||
|
||||
this.token = token;
|
||||
|
||||
return new Promise(function(resolve, reject) {
|
||||
|
||||
if(! self.token)
|
||||
return reject('no token supplied');
|
||||
|
||||
var auth = new swagger.ApiKeyAuthorization('Authorization', 'Bearer ' + token, 'header');
|
||||
|
||||
self.client.clientAuthorizations.add('oauth2', auth);
|
||||
|
||||
resolve();
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
proto.getAccessToken = function() {
|
||||
|
||||
var self = this;
|
||||
|
||||
return new Promise(function(resolve, reject) {
|
||||
|
||||
if(! self.token)
|
||||
return reject('no token supplied');
|
||||
|
||||
resolve(self.token);
|
||||
|
||||
});
|
||||
|
||||
};
|
||||
exports = module.exports = One;
|
||||
|
|
|
|||
Loading…
Reference in a new issue