UNPKG

tender

Version:

Tender API client

134 lines (108 loc) 3.91 kB
// Generated by CoffeeScript 1.4.0 var Client, fs, path, resources; fs = require('fs'); path = require('path'); resources = require('./resources'); module.exports = Client = (function() { function Client(options) { this.options = options; this.discussions = new resources.discussions(this); this.queues = new resources.queues(this); this.categories = new resources.categories(this); this.users = new resources.users(this); this.loadConfig(); } Client.prototype.loadConfig = function() { var config, configPath, _ref, _ref1, _ref2, _ref3; config = {}; configPath = path.join(process.cwd(), 'tender_config.json'); if (fs.existsSync(configPath)) { config = JSON.parse(fs.readFileSync(configPath)); } this.subdomain = ((_ref = this.options) != null ? _ref.subdomain : void 0) || config.subdomain; this.token = ((_ref1 = this.options) != null ? _ref1.token : void 0) || config.token; this.username = ((_ref2 = this.options) != null ? _ref2.username : void 0) || config.username; this.password = ((_ref3 = this.options) != null ? _ref3.password : void 0) || config.password; this.testData = config.testData; return this.baseURI = "https://api.tenderapp.com/" + this.subdomain; }; Client.prototype.getDiscussions = function(options, callback) { return this.discussions.get(options, callback); }; Client.prototype.showDiscussion = function(options, callback) { return this.discussions.show(options, callback); }; Client.prototype.createDiscussion = function(options, callback) { return this.discussions.post(options, callback); }; Client.prototype.replyDiscussion = function(options, callback) { return this.discussions.reply(options, callback); }; Client.prototype.actionDiscussion = function(options, callback) { return this.discussions.action(options, callback); }; Client.prototype.toggleDiscussion = function(options, callback) { return this.discussions.action({ action: 'toggle', id: options.id }, callback); }; Client.prototype.resolveDiscussion = function(options, callback) { return this.discussions.action({ action: 'resolve', id: options.id }, callback); }; Client.prototype.reopenDiscussion = function(options, callback) { return this.discussions.action({ action: 'unresolve', id: options.id }, callback); }; Client.prototype.acknowledgeDiscussion = function(options, callback) { return this.discussions.action({ action: 'acknowledge', id: options.id }, callback); }; Client.prototype.restoreDiscussion = function(options, callback) { return this.discussions.action({ action: 'restore', id: options.id }, callback); }; Client.prototype.categorizeDiscussion = function(options, callback) { return this.discussions.action({ action: 'changeCategory', id: options.id, category: options.category }, callback); }; Client.prototype.queueDiscussion = function(options, callback) { return this.discussions.action({ action: 'queue', id: options.id, queue: options.queue }, callback); }; Client.prototype.unqueueDiscussion = function(options, callback) { return this.discussions.action({ action: 'unqueue', id: options.id, queue: options.queue }, callback); }; Client.prototype.deleteDiscussion = function(options, callback) { return this.discussions["delete"](options, callback); }; Client.prototype.getQueues = function(options, callback) { return this.queues.get(options, callback); }; Client.prototype.getCategories = function(options, callback) { return this.categories.get(options, callback); }; Client.prototype.getUsers = function(options, callback) { return this.users.get(options, callback); }; return Client; })();