API Docs for: 1.0.1
Show:

File: lib/routers/hr/milestones.js

/**
 * Upwork auth library for using with public API by OAuth
 *
 * @package     UpworkAPI
 * @since       11/17/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 routes.hr.milestones
 */

/**
 * @property entryPoint
 * @type String
 * @default api
 * @static
 * @final
 */
var entryPoint = 'api';

/**
 * @class Interviews
 * @constructor
 */
exports.Milestones = function(api) {
  this.api = api;
  this.api.epoint = entryPoint;
}

/**
 * Get active Milestone for specific Contract
 *
 * @method getActiveMilestone
 * @param contractId {Hash} Contract reference
 * @param callback {String} Callback function
 * @async
 */
exports.Milestones.prototype.getActiveMilestone = function(contractId, callback) {
  debug('running request');
  this.api.client.get('hr/v3/fp/milestones/statuses/active/contracts/' + contractId, callback);
}

/**
 * Get all Submissions for specific Milestone
 *
 * @method getSubmissions
 * @param milestoneId {Hash} Milestone reference
 * @param callback {String} Callback function
 * @async
 */
exports.Milestones.prototype.getSubmissions = function(milestoneId, callback) {
  debug('running request');
  this.api.client.get('hr/v3/fp/milestones/' + milestoneId + '/submissions', callback);
}

/**
 * Create a new Milestone
 *
 * @method create
 * @param params {Hash} Parameters
 * @param callback {String} Callback function
 * @async
 */
exports.Milestones.prototype.create = function(params, callback) {
  debug('running request');
  this.api.client.post('hr/v3/fp/milestones', params, callback);
}

/**
 * Edit an existing Milestone
 *
 * @method edit
 * @param milestoneId {Integer} Milestone ID
 * @param params {Hash} Parameters
 * @param callback {String} Callback function
 * @async
 */
exports.Milestones.prototype.edit = function(milestoneId, params, callback) {
  debug('running request');
  this.api.client.put('hr/v3/fp/milestones/' + milestoneId, params, callback);
}

/**
 * Activate an existing Milestone
 *
 * @method activate
 * @param milestoneId {Integer} Milestone ID
 * @param params {Hash} Parameters
 * @param callback {String} Callback function
 * @async
 */
exports.Milestones.prototype.activate = function(milestoneId, params, callback) {
  debug('running request');
  this.api.client.put('hr/v3/fp/milestones/' + milestoneId + '/activate', params, callback);
}

/**
 * Approve an existing Milestone
 *
 * @method approve
 * @param milestoneId {Integer} Milestone ID
 * @param params {Hash} Parameters
 * @param callback {String} Callback function
 * @async
 */
exports.Milestones.prototype.approve = function(milestoneId, params, callback) {
  debug('running request');
  this.api.client.put('hr/v3/fp/milestones/' + milestoneId + '/approve', params, callback);
}

/**
 * Delete an existing Milestone
 *
 * @method delete
 * @param milestoneId {Integer} Milestone ID
 * @param callback {String} Callback function
 * @async
 */
exports.Milestones.prototype.delete = function(milestoneId, callback) {
  debug('running request');
  this.api.client.delete('hr/v3/fp/milestones/' + milestoneId, params, callback);
}