ekko-nodejs
Version:
Ekko Rest Api wrapper — nodeJs
30 lines (22 loc) • 2.31 kB
JavaScript
;
var rp = require("request-promise");
var BASE_URL = "https://api.ekko.chat/";
var usersService = require("./services/users");
function Ekko(apiKey) {
var baseUrl = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : BASE_URL;
if (!apiKey) {
throw new Error("Invalid api key");
}
var request = rp.defaults({
baseUrl: baseUrl,
headers: {
"api-key": apiKey
},
json: true
});
var api = {};
api.users = usersService(request);
return api;
}
module.exports = Ekko;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9Fa2tvLmpzIl0sIm5hbWVzIjpbInJwIiwicmVxdWlyZSIsIkJBU0VfVVJMIiwidXNlcnNTZXJ2aWNlIiwiRWtrbyIsImFwaUtleSIsImJhc2VVcmwiLCJFcnJvciIsInJlcXVlc3QiLCJkZWZhdWx0cyIsImhlYWRlcnMiLCJqc29uIiwiYXBpIiwidXNlcnMiLCJtb2R1bGUiLCJleHBvcnRzIl0sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQSxJQUFNQSxLQUFLQyxRQUFRLGlCQUFSLENBQVg7O0FBRUEsSUFBTUMsV0FBVyx3QkFBakI7O0FBRUEsSUFBTUMsZUFBZUYsUUFBUSxrQkFBUixDQUFyQjs7QUFFQSxTQUFTRyxJQUFULENBQWNDLE1BQWQsRUFBMEM7QUFBQSxRQUFwQkMsT0FBb0IsdUVBQVZKLFFBQVU7O0FBQ3RDLFFBQUksQ0FBQ0csTUFBTCxFQUFhO0FBQ1QsY0FBTSxJQUFJRSxLQUFKLENBQVUsaUJBQVYsQ0FBTjtBQUNIO0FBQ0QsUUFBTUMsVUFBVVIsR0FBR1MsUUFBSCxDQUFZO0FBQ3hCSCx3QkFEd0I7QUFFeEJJLGlCQUFTO0FBQ0wsdUJBQVdMO0FBRE4sU0FGZTtBQUt4Qk0sY0FBTTtBQUxrQixLQUFaLENBQWhCOztBQVFBLFFBQU1DLE1BQU0sRUFBWjtBQUNBQSxRQUFJQyxLQUFKLEdBQVlWLGFBQWFLLE9BQWIsQ0FBWjs7QUFFQSxXQUFPSSxHQUFQO0FBQ0g7O0FBRURFLE9BQU9DLE9BQVAsR0FBaUJYLElBQWpCIiwiZmlsZSI6IkVra28uanMiLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuY29uc3QgcnAgPSByZXF1aXJlKFwicmVxdWVzdC1wcm9taXNlXCIpO1xuXG5jb25zdCBCQVNFX1VSTCA9IFwiaHR0cHM6Ly9hcGkuZWtrby5jaGF0L1wiO1xuXG5jb25zdCB1c2Vyc1NlcnZpY2UgPSByZXF1aXJlKFwiLi9zZXJ2aWNlcy91c2Vyc1wiKTtcblxuZnVuY3Rpb24gRWtrbyhhcGlLZXksIGJhc2VVcmwgPSBCQVNFX1VSTCkge1xuICAgIGlmICghYXBpS2V5KSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihcIkludmFsaWQgYXBpIGtleVwiKTtcbiAgICB9XG4gICAgY29uc3QgcmVxdWVzdCA9IHJwLmRlZmF1bHRzKHtcbiAgICAgICAgYmFzZVVybCxcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICAgXCJhcGkta2V5XCI6IGFwaUtleVxuICAgICAgICB9LFxuICAgICAgICBqc29uOiB0cnVlXG4gICAgfSk7XG5cbiAgICBjb25zdCBhcGkgPSB7fTtcbiAgICBhcGkudXNlcnMgPSB1c2Vyc1NlcnZpY2UocmVxdWVzdCk7XG5cbiAgICByZXR1cm4gYXBpO1xufVxuXG5tb2R1bGUuZXhwb3J0cyA9IEVra287XG4iXX0=