API Docs for: 1.0.1
Show:

File: lib/api.js

/**
 * Upwork auth library for using with public API by OAuth
 *
 * @package     UpworkAPI
 * @since       09/22/2014
 * @copyright   Copyright 2014(c) Upwork.com
 * @author      Maksym Novozhylov <mnovozhilov@upwork.com>
 * @license     Upwork's API Terms of Use {@link https://developers.upwork.com/api-tos.html}
 */

/**
 * @module api
 * @requires debug, config, client
 */

debug = function(data, label) {
    var d = new Debug(process.env.UPWORK_API_DEBUG || false);
    d.log(data, label);
}

var Debug  = require('./debug')
  , Config = require('./config')
  , Client = require('./client').Client;

/**
 * @property dataFormat
 * @type String
 * @default json
 * @final
 */
var dataFormat = 'json';

/**
 * @class UpworkApi
 * @constructor
 */
exports.UpworkApi = function(options, client) {
  debug('UpworkApi');
  if (client == null) {
    this.cfg = new Config(options);
    this.client = new Client(this.cfg);
  } else {
    this.client = client;
  }
}

/**
 * Get Authorization Url and request token
 *
 * @method getAuthorizationUrl
 * @param callbackUrl {String} Callback URL
 * @param callback
 * @async
 */
exports.UpworkApi.prototype.getAuthorizationUrl = function(callbackUrl, callback) {
  debug('getting authorization url via UpworkApi');
  this.client.getAuthorizationUrl(callbackUrl, callback);
}

/**
 * Get access token key/secret pair
 *
 * @method getAccessToken
 * @param requestToken {String} Request token
 * @param requestTokenSecret {String} Request token secret
 * @param verifier {String} Verifier got on authorization step
 * @param callback
 * @async
 */
exports.UpworkApi.prototype.getAccessToken = function(requestToken, requestTokenSecret, verifier, callback) {
  debug('getting access token via UpworkApi');
  this.client.getAccessToken(requestToken, requestTokenSecret, verifier, callback);
}

/**
 * Set known access token key/secret pair
 *
 * @method setAccessToken
 * @param token {String} Access token
 * @param secret {String} Access token secret
 * @param callback
 * @async
 */
exports.UpworkApi.prototype.setAccessToken = function(token, secret, callback) {
  debug('set access token');
  this.client.setAccessToken(token, secret, callback);
}