dispatch-node-sdk
Advanced tools
Comparing version 3.0.1 to 3.1.0
@@ -20,3 +20,3 @@ 'use strict'; | ||
bookNewOffer: function bookNewOffer(offerData) { | ||
var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; | ||
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | ||
var accountId = offerData.accountId; | ||
@@ -23,0 +23,0 @@ var data = offerData.data; |
@@ -59,3 +59,3 @@ 'use strict'; | ||
value: function setForEntity(entityType, entityID, config) { | ||
var overwrite = arguments.length <= 3 || arguments[3] === undefined ? false : arguments[3]; | ||
var overwrite = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false; | ||
@@ -62,0 +62,0 @@ return this.client.doAuthenticatedRequest('POST', '/config/' + entityType + '/' + entityID, { |
@@ -117,3 +117,3 @@ 'use strict'; | ||
function Dispatch(clientID, clientSecret) { | ||
var host = arguments.length <= 2 || arguments[2] === undefined ? 'https://api.dispatch.me' : arguments[2]; | ||
var host = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'https://api.dispatch.me'; | ||
@@ -501,3 +501,3 @@ _classCallCheck(this, Dispatch); | ||
var refreshToken = arguments.length <= 0 || arguments[0] === undefined ? null : arguments[0]; | ||
var refreshToken = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null; | ||
@@ -525,4 +525,4 @@ return this.getNoAuthClient().post('/oauth/token', { | ||
value: function getCollection(endpoint) { | ||
var filter = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1]; | ||
var opts = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; | ||
var filter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; | ||
var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; | ||
@@ -555,3 +555,3 @@ var fullPath = endpoint; | ||
value: function getCollectionWithMeta(endpoint) { | ||
var filter = arguments.length <= 1 || arguments[1] === undefined ? null : arguments[1]; | ||
var filter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null; | ||
@@ -583,3 +583,3 @@ return this.getCollection(endpoint, filter, { raw: true }).then(function (response) { | ||
value: function appendAnalyticsHeaders() { | ||
var options = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; | ||
var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | ||
@@ -617,4 +617,4 @@ var analytics = Object.assign({}, this.session, options.analytics); | ||
var body = arguments.length <= 2 || arguments[2] === undefined ? null : arguments[2]; | ||
var options = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3]; | ||
var body = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; | ||
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; | ||
@@ -677,3 +677,3 @@ var req = new _request2.default(method, endpoint, body, this.appendAnalyticsHeaders(options)); | ||
value: function uploadFile(file, name) { | ||
var type = arguments.length <= 2 || arguments[2] === undefined ? 'square_photo' : arguments[2]; | ||
var type = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'square_photo'; | ||
var options = arguments[3]; | ||
@@ -700,3 +700,3 @@ | ||
value: function setSession() { | ||
var sessionVars = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; | ||
var sessionVars = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | ||
@@ -734,3 +734,3 @@ this.session = sessionVars; | ||
function getMatchedWords() { | ||
var result = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; | ||
var result = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | ||
@@ -766,3 +766,3 @@ var matches = result._highlightResult || {}; // eslint-disable-line no-underscore-dangle | ||
function arraysToStrings(obj) { | ||
var skipProps = arguments.length <= 1 || arguments[1] === undefined ? [] : arguments[1]; | ||
var skipProps = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : []; | ||
@@ -848,3 +848,3 @@ Object.getOwnPropertyNames(obj || {}).forEach(function (prop) { | ||
var appointmentInfo = arguments.length <= 2 || arguments[2] === undefined ? null : arguments[2]; | ||
var appointmentInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; | ||
@@ -851,0 +851,0 @@ var returnData = { |
@@ -29,2 +29,3 @@ 'use strict'; | ||
var SURVEY_RESPONSES = exports.SURVEY_RESPONSES = '/v1/survey_responses'; | ||
var WORK_ORDER_GOVERNANCE_SERVICE = exports.WORK_ORDER_GOVERNANCE_SERVICE = '/v1/workordergovernance'; | ||
var USERS = exports.USERS = '/v1/users'; |
@@ -18,3 +18,3 @@ 'use strict'; | ||
sendNotification: function sendNotification(appointmentProperties) { | ||
var headerOptions = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; | ||
var headerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | ||
@@ -21,0 +21,0 @@ return client.doAuthenticatedRequest('PATCH', endpoints.APPOINTMENTS + '/' + id + '/notify', appointmentProperties, headerOptions); |
@@ -36,4 +36,4 @@ 'use strict'; | ||
value: function get() { | ||
var query = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; | ||
var opts = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; | ||
var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | ||
var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | ||
@@ -45,3 +45,3 @@ return this.client.getCollection(this.endpoint, query, opts); | ||
value: function getWithMeta() { | ||
var query = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; | ||
var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | ||
@@ -58,3 +58,3 @@ return this.client.getCollectionWithMeta(this.endpoint, query); | ||
value: function create(data) { | ||
var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; | ||
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | ||
@@ -76,3 +76,3 @@ return this.client.doAuthenticatedRequest('POST', this.endpoint, data, options).then(function (response) { | ||
value: function update(id, data) { | ||
var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; | ||
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; | ||
@@ -79,0 +79,0 @@ return this.client.doAuthenticatedRequest('PATCH', this.getSingleEndpoint(id), data, options).then(function (response) { |
@@ -73,33 +73,20 @@ 'use strict'; | ||
function actOnOffer(client, id, action) { | ||
var body = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3]; | ||
var options = arguments.length <= 4 || arguments[4] === undefined ? {} : arguments[4]; | ||
var body = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; | ||
var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {}; | ||
if (action === 'accept') { | ||
// If not scheduling appointment, set the job status to unscheduled. | ||
if (_underscore2.default.isEmpty(body)) { | ||
return client.doAuthenticatedRequest('PATCH', endpoints.JOBS + '/' + id, { status: 'unscheduled' }, options).then(function () { | ||
return { status: 'unscheduled' }; | ||
return client.doAuthenticatedRequest('POST', endpoints.WORK_ORDER_GOVERNANCE_SERVICE + '/' + id + '/accept', {}, options).then(function (response) { | ||
return { status: response.new_job_status }; | ||
}); | ||
} | ||
// Otherwise, check to see if there is a draft appointment to schedule. | ||
return client.entities.appointments.get({ filter: { job_id_eq: id, status_eq: 'draft' } }).then(function (appointments) { | ||
var appointment = appointments && appointments[0]; | ||
var appointmentBody = { | ||
duration: body.appointment_duration, | ||
job_id: id, | ||
status: 'scheduled', | ||
time: body.appointment_time, | ||
user_id: body.user_id | ||
}; | ||
var appointmentBody = { | ||
appointment_duration: body.appointment_duration, | ||
appointment_time: body.appointment_time, | ||
user_id: body.user_id | ||
}; | ||
// Patch the existing appointment if one exists. | ||
if (appointment) { | ||
return client.doAuthenticatedRequest('PATCH', endpoints.APPOINTMENTS + '/' + appointment.id, appointmentBody, options); | ||
} | ||
// Otherwise, create a new appointment. | ||
return client.doAuthenticatedRequest('POST', endpoints.APPOINTMENTS, appointmentBody, options); | ||
}).then(function () { | ||
return { status: 'scheduled' }; | ||
return client.doAuthenticatedRequest('POST', endpoints.WORK_ORDER_GOVERNANCE_SERVICE + '/' + id + '/accept', { appointment: appointmentBody }, options).then(function (response) { | ||
return { status: response.new_job_status }; | ||
}); | ||
@@ -109,7 +96,4 @@ } | ||
if (action === 'reject') { | ||
return client.doAuthenticatedRequest('PATCH', endpoints.JOBS + '/' + id, _extends({}, body, { | ||
status: 'rejected' | ||
}), options).then(function () { | ||
// Mimic the response of the job offers orchestrator. | ||
return { status: 'rejected' }; | ||
return client.doAuthenticatedRequest('POST', endpoints.WORK_ORDER_GOVERNANCE_SERVICE + '/' + id + '/reject', {}, options).then(function (response) { | ||
return { status: response.new_job_status }; | ||
}); | ||
@@ -189,3 +173,3 @@ } | ||
createAppointment: function createAppointment() { | ||
var data = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; | ||
var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | ||
var options = arguments[1]; | ||
@@ -201,3 +185,3 @@ | ||
getAppointments: function getAppointments() { | ||
var query = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; | ||
var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | ||
@@ -232,3 +216,3 @@ if (query.filter) { | ||
getSurveys: function getSurveys() { | ||
var query = arguments.length <= 0 || arguments[0] === undefined ? {} : arguments[0]; | ||
var query = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; | ||
@@ -249,3 +233,3 @@ var DEFAULT_QUERY = { | ||
update: function update(jobProperties) { | ||
var headerOptions = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; | ||
var headerOptions = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | ||
@@ -252,0 +236,0 @@ return client.doAuthenticatedRequest('PATCH', endpoints.JOBS + '/' + id, jobProperties, headerOptions).then(function (response) { |
@@ -7,3 +7,3 @@ 'use strict'; | ||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; | ||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; | ||
@@ -10,0 +10,0 @@ exports.default = organizationMethods; |
@@ -7,3 +7,3 @@ 'use strict'; | ||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; | ||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; | ||
@@ -10,0 +10,0 @@ exports.default = userMethods; |
@@ -56,3 +56,3 @@ 'use strict'; | ||
value: function addForEntity(entityType, entityID, name) { | ||
var config = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3]; | ||
var config = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; | ||
@@ -59,0 +59,0 @@ var body = _extends({ |
@@ -7,3 +7,3 @@ 'use strict'; | ||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol ? "symbol" : typeof obj; }; | ||
var _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; | ||
@@ -10,0 +10,0 @@ exports.stringify = stringify; |
@@ -88,3 +88,3 @@ 'use strict'; | ||
value: function get(endpoint) { | ||
var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; | ||
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | ||
@@ -96,3 +96,3 @@ return this.doRequest('GET', endpoint, null, options); | ||
value: function post(endpoint, body) { | ||
var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; | ||
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; | ||
@@ -104,3 +104,3 @@ return this.doRequest('POST', endpoint, body, options); | ||
value: function put(endpoint, body) { | ||
var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; | ||
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; | ||
@@ -112,3 +112,3 @@ return this.doRequest('PUT', endpoint, body, options); | ||
value: function patch(endpoint, body) { | ||
var options = arguments.length <= 2 || arguments[2] === undefined ? {} : arguments[2]; | ||
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; | ||
@@ -120,3 +120,3 @@ return this.doRequest('PATCH', endpoint, body, options); | ||
value: function _delete(endpoint) { | ||
var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; | ||
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; | ||
@@ -128,4 +128,4 @@ return this.doRequest('DELETE', endpoint, null, options); | ||
value: function doRequest(method, endpoint) { | ||
var body = arguments.length <= 2 || arguments[2] === undefined ? null : arguments[2]; | ||
var options = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3]; | ||
var body = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; | ||
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; | ||
@@ -132,0 +132,0 @@ var url = this.host + endpoint; |
@@ -13,4 +13,4 @@ "use strict"; | ||
function Request(method, endpoint) { | ||
var body = arguments.length <= 2 || arguments[2] === undefined ? null : arguments[2]; | ||
var options = arguments.length <= 3 || arguments[3] === undefined ? {} : arguments[3]; | ||
var body = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; | ||
var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {}; | ||
@@ -17,0 +17,0 @@ _classCallCheck(this, Request); |
@@ -24,2 +24,3 @@ export const ACCOUNT_ORGANIZATIONS = '/v1/account_organizations'; | ||
export const SURVEY_RESPONSES = '/v1/survey_responses'; | ||
export const WORK_ORDER_GOVERNANCE_SERVICE = '/v1/workordergovernance'; | ||
export const USERS = '/v1/users'; |
@@ -53,31 +53,17 @@ import _ from 'underscore'; | ||
if (action === 'accept') { | ||
// If not scheduling appointment, set the job status to unscheduled. | ||
if (_.isEmpty(body)) { | ||
return client.doAuthenticatedRequest('PATCH', `${endpoints.JOBS}/${id}`, { status: 'unscheduled' }, options) | ||
.then(() => { | ||
return { status: 'unscheduled' }; | ||
return client.doAuthenticatedRequest('POST', `${endpoints.WORK_ORDER_GOVERNANCE_SERVICE}/${id}/accept`, {}, options) | ||
.then((response) => { | ||
return { status: response.new_job_status }; | ||
}); | ||
} | ||
// Otherwise, check to see if there is a draft appointment to schedule. | ||
return client.entities.appointments.get({ filter: { job_id_eq: id, status_eq: 'draft' } }).then(appointments => { | ||
const appointment = appointments && appointments[0]; | ||
const appointmentBody = { | ||
duration: body.appointment_duration, | ||
job_id: id, | ||
status: 'scheduled', | ||
time: body.appointment_time, | ||
user_id: body.user_id, | ||
}; | ||
const appointmentBody = { | ||
appointment_duration: body.appointment_duration, | ||
appointment_time: body.appointment_time, | ||
user_id: body.user_id, | ||
}; | ||
// Patch the existing appointment if one exists. | ||
if (appointment) { | ||
return client.doAuthenticatedRequest('PATCH', `${endpoints.APPOINTMENTS}/${appointment.id}`, appointmentBody, options); | ||
} | ||
// Otherwise, create a new appointment. | ||
return client.doAuthenticatedRequest('POST', endpoints.APPOINTMENTS, appointmentBody, options); | ||
}) | ||
.then(() => { | ||
return { status: 'scheduled' }; | ||
return client.doAuthenticatedRequest('POST', `${endpoints.WORK_ORDER_GOVERNANCE_SERVICE}/${id}/accept`, { appointment: appointmentBody }, options).then((response) => { | ||
return { status: response.new_job_status }; | ||
}); | ||
@@ -87,8 +73,4 @@ } | ||
if (action === 'reject') { | ||
return client.doAuthenticatedRequest('PATCH', `${endpoints.JOBS}/${id}`, { | ||
...body, | ||
status: 'rejected', | ||
}, options).then(() => { | ||
// Mimic the response of the job offers orchestrator. | ||
return { status: 'rejected' }; | ||
return client.doAuthenticatedRequest('POST', `${endpoints.WORK_ORDER_GOVERNANCE_SERVICE}/${id}/reject`, {}, options).then((response) => { | ||
return { status: response.new_job_status }; | ||
}); | ||
@@ -95,0 +77,0 @@ } |
@@ -341,13 +341,9 @@ import expect from 'expect'; | ||
describe('accepting', () => { | ||
it('should patch job to unscheduled if accepting offer', () => { | ||
const appointmentGetRequest = nock('https://api.dispatch.me') | ||
.get(`${endpoints.APPOINTMENTS}?filter[job_id_eq]=123&filter[status_eq]=draft`) | ||
.reply(200, { appointments: [] }); | ||
const jobPatchRequest = nock('https://api.dispatch.me') | ||
.patch(`${endpoints.JOBS}/123`, { status: 'unscheduled' }) | ||
it('should post job to the work-order-governance-servive', () => { | ||
const postJobRequest = nock('https://api.dispatch.me') | ||
.post(`${endpoints.WORK_ORDER_GOVERNANCE_SERVICE}/123/accept`, {}) | ||
.reply(200, { status: 'unscheduled' }); | ||
client.entities.job(123).accept().then(response => { | ||
expect(appointmentGetRequest.isDone()).toEqual(true); | ||
expect(jobPatchRequest.isDone()).toEqual(true); | ||
expect(postJobRequest.isDone()).toEqual(true); | ||
expect(response.status).toEqual('unscheduled'); | ||
@@ -357,58 +353,32 @@ }); | ||
it('should schedule appointment if accepting with orchestrator request body', () => { | ||
it('should assemble appointment body if included in the request body', () => { | ||
const body = { | ||
time: 'someiso', | ||
duration: 7200, | ||
appointment_time: 'someiso', | ||
appointment_duration: 7200, | ||
}; | ||
const apptPostRequest = nock('https://api.dispatch.me') | ||
.post(`${endpoints.APPOINTMENTS}`) | ||
.reply(200, { id: 555, status: 'scheduled' }); | ||
const jobRequestWithAppointment = nock('https://api.dispatch.me') | ||
.post(`${endpoints.WORK_ORDER_GOVERNANCE_SERVICE}/123/accept}`, body) | ||
.reply(201, { id: 555, status: 'scheduled' }); | ||
client.entities.job(123).accept(null, body).then(response => { | ||
expect(apptPostRequest.isDone()).toEqual(true); | ||
expect(jobRequestWithAppointment.isDone()).toEqual(true); | ||
expect(response.status).toEqual('scheduled'); | ||
}); | ||
}); | ||
it('should patch draft appointment if there are any on the offer', () => { | ||
const appointmentGetRequest = nock('https://api.dispatch.me') | ||
.get(`${endpoints.APPOINTMENTS}?filter[job_id_eq]=123&filter[status_eq]=draft`) | ||
.reply(200, { appointments: [{ id: 555, status: 'draft' }] }); | ||
const apptPatchRequest = nock('https://api.dispatch.me') | ||
.patch(`${endpoints.APPOINTMENTS}/555`, { status: 'scheduled' }) | ||
.reply(200, { status: 'scheduled' }); | ||
client.entities.job(123).accept().then(response => { | ||
expect(appointmentGetRequest.isDone()).toEqual(true); | ||
expect(apptPatchRequest.isDone()).toEqual(true); | ||
expect(response.status).toEqual('scheduled'); | ||
}); | ||
}); | ||
}); | ||
describe('rejecting', () => { | ||
it('with status message should patch job to rejected', () => { | ||
const jobPatchRequest = nock('https://api.dispatch.me') | ||
.patch(`${endpoints.JOBS}/123`, { status: 'rejected' }) | ||
it('should call work-order-governance-servive to reject job', () => { | ||
const rejectJobRequest = nock('https://api.dispatch.me') | ||
.patch(`${endpoints.WORK_ORDER_GOVERNANCE_SERVICE}/123/prehect`, {}) | ||
.reply(200, { status: 'rejected' }); | ||
client.entities.job(123).reject('uhh').then(response => { | ||
expect(jobPatchRequest.isDone()).toEqual(true); | ||
expect(rejectJobRequest.isDone()).toEqual(true); | ||
expect(response.status).toEqual('scheduled'); | ||
}); | ||
}); | ||
it('without status message should patch job to rejected', () => { | ||
const jobPatchRequest = nock('https://api.dispatch.me') | ||
.patch(`${endpoints.JOBS}/123`, { status: 'rejected' }) | ||
.reply(200, { status: 'rejected' }); | ||
client.entities.job(123).reject().then(response => { | ||
expect(jobPatchRequest.isDone()).toEqual(true); | ||
expect(response.status).toEqual('scheduled'); | ||
}); | ||
}); | ||
}); | ||
}); | ||
}); |
{ | ||
"name": "dispatch-node-sdk", | ||
"version": "3.0.1", | ||
"version": "3.1.0", | ||
"description": "High- and low-level libraries for interacting with the Dispatch API", | ||
@@ -5,0 +5,0 @@ "main": "dist/lib/index.js", |
279177
6962