Socket
Socket
Sign inDemoInstall

dispatch-node-sdk

Package Overview
Dependencies
7
Maintainers
4
Versions
148
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 3.0.1 to 3.1.0

2

dist/lib/bookingService.js

@@ -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",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc