@xapp/stentor-service-jobber 1.54.17 → 1.55.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,7 @@
1
- /*! Copyright (c) 2022, XAPPmedia */
1
+ /*! Copyright (c) 2024, XAPP AI */
2
2
  import { FetchService } from "stentor-service-fetch";
3
3
  import { BaseService, CrmResponse, CrmService, ExternalLead } from "stentor-models";
4
+ import { Product } from "./graphql";
4
5
  export interface JobberServiceProps extends BaseService {
5
6
  appId: string;
6
7
  channel: string;
@@ -44,6 +45,22 @@ export interface JobberContact {
44
45
  * Just the street
45
46
  */
46
47
  street?: string;
48
+ /**
49
+ * Requested Time
50
+ */
51
+ dateTime?: string;
52
+ /**
53
+ * Preferred Time
54
+ */
55
+ preferredTime?: string;
56
+ /**
57
+ * Free-form message or description of the reason for contacting
58
+ */
59
+ message?: string;
60
+ /**
61
+ * Accepted any fees?
62
+ */
63
+ consentApproval?: string;
47
64
  }
48
65
  export interface JobberExternalLeadExtras {
49
66
  /**
@@ -121,6 +138,7 @@ export declare class JobberService extends FetchService implements CrmService {
121
138
  * @param transcriptData
122
139
  */
123
140
  private createContact;
141
+ private processSchedulingInfo;
124
142
  private createProperty;
125
143
  private createRequest;
126
144
  /**
@@ -131,8 +149,16 @@ export declare class JobberService extends FetchService implements CrmService {
131
149
  * @returns
132
150
  */
133
151
  private createNote;
152
+ /**
153
+ * Create a job.
154
+ *
155
+ * 1. Creates the job
156
+ * @param job
157
+ */
158
+ private createJob;
134
159
  private checkForExistingClient;
135
160
  private getProperty;
161
+ getProducts(): Promise<Product[]>;
136
162
  /**
137
163
  * Shared request headers
138
164
  *
@@ -13,9 +13,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.JobberService = void 0;
16
- /*! Copyright (c) 2022, XAPPmedia */
16
+ /*! Copyright (c) 2024, XAPP AI */
17
17
  const stentor_service_fetch_1 = require("stentor-service-fetch");
18
18
  const stentor_logger_1 = require("stentor-logger");
19
+ const moment_timezone_1 = __importDefault(require("moment-timezone"));
19
20
  const addresser_1 = __importDefault(require("addresser"));
20
21
  const graphql_1 = require("./graphql");
21
22
  const util_1 = require("./util");
@@ -39,7 +40,7 @@ class JobberService extends stentor_service_fetch_1.FetchService {
39
40
  */
40
41
  send(externalLead) {
41
42
  return __awaiter(this, void 0, void 0, function* () {
42
- var _a, _b, _c, _d, _e, _f, _g;
43
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
43
44
  const crmResponse = {
44
45
  status: "Failure",
45
46
  message: ""
@@ -57,7 +58,11 @@ class JobberService extends stentor_service_fetch_1.FetchService {
57
58
  zip: (_d = externalLead.fields.find((x) => x.name === "ZIP")) === null || _d === void 0 ? void 0 : _d.value,
58
59
  city: (_e = externalLead.fields.find((x) => x.name === "CITY")) === null || _e === void 0 ? void 0 : _e.value,
59
60
  state: (_f = externalLead.fields.find((x) => x.name === "STATE")) === null || _f === void 0 ? void 0 : _f.value,
60
- street: (_g = externalLead.fields.find((x) => x.name === "STREET")) === null || _g === void 0 ? void 0 : _g.value
61
+ street: (_g = externalLead.fields.find((x) => x.name === "STREET")) === null || _g === void 0 ? void 0 : _g.value,
62
+ dateTime: (_h = externalLead.fields.find((x) => x.name == "DATETIME")) === null || _h === void 0 ? void 0 : _h.value,
63
+ preferredTime: (_j = externalLead.fields.find((x) => x.name == "PREFERRED_TIME")) === null || _j === void 0 ? void 0 : _j.value,
64
+ message: (_k = externalLead.fields.find((x) => x.name == "MESSAGE")) === null || _k === void 0 ? void 0 : _k.value,
65
+ consentApproval: (_l = externalLead.fields.find((x) => x.name == "CONSENT_APPROVAL")) === null || _l === void 0 ? void 0 : _l.value
61
66
  }, externalLead);
62
67
  crmResponse.status = "Success";
63
68
  }
@@ -87,11 +92,15 @@ class JobberService extends stentor_service_fetch_1.FetchService {
87
92
  const variables = {
88
93
  client: {
89
94
  firstName: `${nameArray[0]}`,
90
- lastName: `${nameArray.slice(1).join(" ").trim()}`,
91
- phones: [{ number: contact.phone }],
92
- emails: [{ description: "MAIN", primary: true, address: `${contact.email}` }]
95
+ lastName: `${nameArray.slice(1).join(" ").trim()}`
93
96
  }
94
97
  };
98
+ if (contact.phone) {
99
+ variables.client.phones = [{ number: contact.phone }];
100
+ }
101
+ if (contact.email) {
102
+ variables.client.emails = [{ description: "MAIN", primary: true, address: `${contact.email}` }];
103
+ }
95
104
  const results = yield this.graphqlRequest(graphql_1.ADD_CLIENT_MUTATION, variables);
96
105
  clientId = results.clientCreate.client.id;
97
106
  }
@@ -99,7 +108,70 @@ class JobberService extends stentor_service_fetch_1.FetchService {
99
108
  const propertyId = yield this.createProperty(clientId, contact);
100
109
  // Update the createREquest to not require propertyId
101
110
  const requestId = yield this.createRequest(clientId, undefined, propertyId);
111
+ // Add user's description of the problem
112
+ (0, util_1.addMessageToTranscript)(contact, transcriptData);
113
+ // Attach note to request
102
114
  yield this.createNote(requestId, transcriptData);
115
+ // Add a Job (when if all data exists)
116
+ yield this.processSchedulingInfo(contact, propertyId, requestId);
117
+ });
118
+ }
119
+ processSchedulingInfo(contact, propertyId, requestId) {
120
+ return __awaiter(this, void 0, void 0, function* () {
121
+ const hasAgreed = !!(contact === null || contact === void 0 ? void 0 : contact.consentApproval) && (contact === null || contact === void 0 ? void 0 : contact.consentApproval.includes("agreed"));
122
+ // Create a job?
123
+ if (contact.address && hasAgreed && contact.dateTime) {
124
+ const appointmentTime = (0, moment_timezone_1.default)(contact.dateTime);
125
+ const zoneOffset = -4;
126
+ let offsetHours;
127
+ // let partOfDayPreferred;
128
+ if (contact.preferredTime) {
129
+ if (contact.preferredTime.includes("morning")) {
130
+ //partOfDayPreferred = "morning";
131
+ offsetHours = 8 + zoneOffset;
132
+ }
133
+ else if (contact.preferredTime.includes("afternoon")) {
134
+ //partOfDayPreferred = "afternoon";
135
+ offsetHours = 14 + zoneOffset;
136
+ }
137
+ else {
138
+ //partOfDayPreferred = "first available";
139
+ offsetHours = 8 + zoneOffset; // first available = morning
140
+ }
141
+ }
142
+ else {
143
+ offsetHours = 8; // no time part
144
+ }
145
+ appointmentTime.add(offsetHours, "hours");
146
+ const requestTime = appointmentTime ? appointmentTime.utc().format() : undefined;
147
+ const jobRequest = {
148
+ job: {
149
+ propertyId,
150
+ requestId,
151
+ title: "XAPP Job Request",
152
+ scheduling: {
153
+ createVisits: true,
154
+ notifyTeam: false,
155
+ startTime: requestTime,
156
+ recurrence: null
157
+ // endTime: ""
158
+ },
159
+ timeframe: {
160
+ startAt: requestTime
161
+ },
162
+ arrivalWindow: {
163
+ durationInMinutes: 120
164
+ },
165
+ invoicing: {
166
+ invoicingType: "FIXED_PRICE",
167
+ invoicingSchedule: "ON_COMPLETION"
168
+ }
169
+ }
170
+ };
171
+ (0, stentor_logger_1.log)().info(jobRequest);
172
+ const jobResult = yield this.createJob(jobRequest);
173
+ (0, stentor_logger_1.log)().info("Added Job: ", { jobResult });
174
+ }
103
175
  });
104
176
  }
105
177
  // Create a Property from a Contact
@@ -196,6 +268,20 @@ class JobberService extends stentor_service_fetch_1.FetchService {
196
268
  yield this.graphqlRequest(graphql_1.ADD_NOTE_MUTATION, variables);
197
269
  });
198
270
  }
271
+ /**
272
+ * Create a job.
273
+ *
274
+ * 1. Creates the job
275
+ * @param job
276
+ */
277
+ createJob(job) {
278
+ return __awaiter(this, void 0, void 0, function* () {
279
+ // eslint-disable-next-line no-console
280
+ console.log("JOB!: ", job);
281
+ const results = yield this.graphqlRequest(graphql_1.ADD_JOB_MUTATION, job);
282
+ return results;
283
+ });
284
+ }
199
285
  // Check for Existing Contact
200
286
  checkForExistingClient(contact) {
201
287
  return __awaiter(this, void 0, void 0, function* () {
@@ -218,7 +304,7 @@ class JobberService extends stentor_service_fetch_1.FetchService {
218
304
  clientId
219
305
  });
220
306
  // Match: Return the ClientID
221
- if (result.properties.nodes.length) {
307
+ if (contact.address && result.properties.nodes.length) {
222
308
  const parsedAddress = addresser_1.default.parseAddress(contact.address);
223
309
  result.properties.nodes.forEach((property) => {
224
310
  var _a, _b;
@@ -230,6 +316,17 @@ class JobberService extends stentor_service_fetch_1.FetchService {
230
316
  return propertyId;
231
317
  });
232
318
  }
319
+ // Get List Of Products
320
+ getProducts() {
321
+ return __awaiter(this, void 0, void 0, function* () {
322
+ const result = yield this.graphqlRequest(graphql_1.GET_PRODUCTS_QUERY);
323
+ // Products?
324
+ if (result.products.nodes.length) {
325
+ return result.products.nodes;
326
+ }
327
+ return null;
328
+ });
329
+ }
233
330
  /**
234
331
  * Shared request headers
235
332
  *
@@ -1 +1 @@
1
- {"version":3,"file":"JobberService.js","sourceRoot":"","sources":["../src/JobberService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JobberService.js","sourceRoot":"","sources":["../src/JobberService.ts"],"names":[],"mappings":"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"}
package/lib/graphql.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- /*! Copyright (c) 2023, XAPP AI */
1
+ /*! Copyright (c) 2024, XAPP AI */
2
2
  export declare const SEARCH_CLIENTS_QUERY = "query CheckExisting($searchTerm: String) {\n clients(searchTerm: $searchTerm) {\n nodes {\n id\n name\n }\n }\n}";
3
3
  export interface SearchClientsInput {
4
4
  searchTerm: string;
@@ -34,6 +34,13 @@ export interface AddPropertyResult {
34
34
  properties: Property[];
35
35
  };
36
36
  }
37
+ export interface Product {
38
+ id: string;
39
+ name: string;
40
+ category: string;
41
+ description: string;
42
+ visible: boolean;
43
+ }
37
44
  export declare const ADD_REQUEST_MUTATION = "\nmutation AddRequest($input: RequestCreateInput!) {\n requestCreate(input: $input) {\n request {\n id\n }\n }\n}";
38
45
  export interface FormSectionInput {
39
46
  label: string;
@@ -94,6 +101,52 @@ export interface GetPropertyResults {
94
101
  nodes: Property[];
95
102
  };
96
103
  }
104
+ export declare const GET_PRODUCTS_QUERY = "\nquery GetProducts { products {\n nodes {\n id\n name\n category\n description\n visible\n }\n }\n}";
105
+ export interface GetProductResults {
106
+ products: {
107
+ nodes: Product[];
108
+ };
109
+ }
110
+ export declare const ADD_JOB_MUTATION = "\nmutation AddJob($job: JobCreateAttributes!) {\n jobCreate(input: $job) {\n job {\n id\n jobNumber\n jobberWebUri\n }\n }\n}";
111
+ export interface AddJobInput {
112
+ job: {
113
+ propertyId: string;
114
+ title: string;
115
+ requestId?: string;
116
+ scheduling: {
117
+ createVisits: boolean;
118
+ notifyTeam: boolean;
119
+ startTime: string;
120
+ endTime?: string;
121
+ recurrence?: null;
122
+ };
123
+ timeframe: {
124
+ startAt: string;
125
+ };
126
+ arrivalWindow: {
127
+ durationInMinutes: number;
128
+ };
129
+ invoicing: {
130
+ invoicingType: "VISIT_BASED" | "FIXED_PRICE";
131
+ invoicingSchedule: "ON_COMPLETION" | "PERIODIC" | "PER_VISIT" | "NEVER";
132
+ };
133
+ lineItems?: LineItem[];
134
+ };
135
+ }
136
+ interface LineItem {
137
+ category: string;
138
+ name: string;
139
+ quantity: number;
140
+ unitPrice: number;
141
+ saveToProductsAndServices: false;
142
+ }
143
+ export interface AddJobResult {
144
+ requestNote: {
145
+ id: string;
146
+ jobNumber: number;
147
+ jobberWebUri: string;
148
+ };
149
+ }
97
150
  export declare const ADD_CLIENT_MUTATION = "\nmutation AddClient($client: ClientCreateInput!) {\n clientCreate(input: $client) {\n client {\n id\n firstName\n lastName\n }\n }\n}";
98
151
  export interface AddClientInput {
99
152
  client: {
@@ -121,3 +174,4 @@ export interface AddClientMutationResult {
121
174
  };
122
175
  };
123
176
  }
177
+ export {};
package/lib/graphql.js CHANGED
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
- /*! Copyright (c) 2023, XAPP AI */
2
+ /*! Copyright (c) 2024, XAPP AI */
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.ADD_CLIENT_MUTATION = exports.GET_PROPERTIES_QUERY = exports.ADD_NOTE_MUTATION = exports.ADD_REQUEST_MUTATION = exports.ADD_PROPERTY_MUTATION = exports.SEARCH_CLIENTS_QUERY = void 0;
4
+ exports.ADD_CLIENT_MUTATION = exports.ADD_JOB_MUTATION = exports.GET_PRODUCTS_QUERY = exports.GET_PROPERTIES_QUERY = exports.ADD_NOTE_MUTATION = exports.ADD_REQUEST_MUTATION = exports.ADD_PROPERTY_MUTATION = exports.SEARCH_CLIENTS_QUERY = void 0;
5
5
  exports.SEARCH_CLIENTS_QUERY = `query CheckExisting($searchTerm: String) {
6
6
  clients(searchTerm: $searchTerm) {
7
7
  nodes {
@@ -53,6 +53,31 @@ query GetProperties($clientId: EncodedId!) {
53
53
  }
54
54
  }`;
55
55
  //////////////////////////////////////
56
+ // Get Products!
57
+ exports.GET_PRODUCTS_QUERY = `
58
+ query GetProducts { products {
59
+ nodes {
60
+ id
61
+ name
62
+ category
63
+ description
64
+ visible
65
+ }
66
+ }
67
+ }`;
68
+ //////////////////////////////////////
69
+ // Get Jobs
70
+ exports.ADD_JOB_MUTATION = `
71
+ mutation AddJob($job: JobCreateAttributes!) {
72
+ jobCreate(input: $job) {
73
+ job {
74
+ id
75
+ jobNumber
76
+ jobberWebUri
77
+ }
78
+ }
79
+ }`;
80
+ //////////////////////////////////////
56
81
  exports.ADD_CLIENT_MUTATION = `
57
82
  mutation AddClient($client: ClientCreateInput!) {
58
83
  clientCreate(input: $client) {
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../src/graphql.ts"],"names":[],"mappings":";AAAA,kCAAkC;;;AAErB,QAAA,oBAAoB,GAAG;;;;;;;EAOlC,CAAC;AAYH,qCAAqC;AAExB,QAAA,qBAAqB,GAAG;;;;;;;EAOnC,CAAC;AA6BH,qCAAqC;AAErC,cAAc;AAED,QAAA,oBAAoB,GAAG;;;;;;;EAOlC,CAAC;AA8CH,qCAAqC;AAErC,cAAc;AAED,QAAA,iBAAiB,GAAG;;;;;;;EAO/B,CAAC;AAeH,qCAAqC;AAErC,kBAAkB;AAEL,QAAA,oBAAoB,GAAG;;;;;;;;;;EAUlC,CAAC;AAYH,sCAAsC;AAEzB,QAAA,mBAAmB,GAAG;;;;;;;;;EASjC,CAAC;AAwBH,yCAAyC"}
1
+ {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../src/graphql.ts"],"names":[],"mappings":";AAAA,kCAAkC;;;AAErB,QAAA,oBAAoB,GAAG;;;;;;;EAOlC,CAAC;AAYH,qCAAqC;AAExB,QAAA,qBAAqB,GAAG;;;;;;;EAOnC,CAAC;AAqCH,qCAAqC;AAErC,cAAc;AAED,QAAA,oBAAoB,GAAG;;;;;;;EAOlC,CAAC;AA8CH,qCAAqC;AAErC,cAAc;AAED,QAAA,iBAAiB,GAAG;;;;;;;EAO/B,CAAC;AAeH,qCAAqC;AAErC,kBAAkB;AAEL,QAAA,oBAAoB,GAAG;;;;;;;;;;EAUlC,CAAC;AAYH,sCAAsC;AAEtC,gBAAgB;AAEH,QAAA,kBAAkB,GAAG;;;;;;;;;;EAUhC,CAAC;AAQH,sCAAsC;AAEtC,WAAW;AAEE,QAAA,gBAAgB,GAAG;;;;;;;;;EAS9B,CAAC;AA4CH,sCAAsC;AAEzB,QAAA,mBAAmB,GAAG;;;;;;;;;EASjC,CAAC;AAwBH,yCAAyC"}
package/lib/index.d.ts CHANGED
@@ -1,2 +1,2 @@
1
- /*! Copyright (c) 2022, XAPPmedia */
1
+ /*! Copyright (c) 2024, XAPP AI */
2
2
  export * from "./JobberService";
package/lib/index.js CHANGED
@@ -14,6 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- /*! Copyright (c) 2022, XAPPmedia */
17
+ /*! Copyright (c) 2024, XAPP AI */
18
18
  __exportStar(require("./JobberService"), exports);
19
19
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oCAAoC;AACpC,kDAAgC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kCAAkC;AAClC,kDAAgC"}
package/lib/util.d.ts CHANGED
@@ -1,4 +1,6 @@
1
- /*! Copyright (c) 2022, XAPPmedia */
1
+ /*! Copyright (c) 2024, XAPP AI */
2
2
  import { ExternalLead } from "stentor-models";
3
+ import { JobberContact } from "./JobberService";
3
4
  export declare function getName(lead: ExternalLead): string;
4
5
  export declare function leadToNote(lead: ExternalLead): string;
6
+ export declare function addMessageToTranscript(contact: JobberContact, transcriptData: ExternalLead): void;
package/lib/util.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.leadToNote = exports.getName = void 0;
3
+ exports.addMessageToTranscript = exports.leadToNote = exports.getName = void 0;
4
4
  function getName(lead) {
5
5
  // Try to find a field with the name "FULL_NAME" in the lead.fields array
6
6
  const fullNameField = lead.fields.find((field) => field.name === "FULL_NAME");
@@ -14,7 +14,7 @@ function getName(lead) {
14
14
  if (firstNameField && lastNameField)
15
15
  return `${firstNameField.value} ${lastNameField.value}`;
16
16
  // If either "FIRST_NAME" or "LAST_NAME" is missing, return an empty string or handle accordingly
17
- return '';
17
+ return "";
18
18
  }
19
19
  exports.getName = getName;
20
20
  function leadToNote(lead) {
@@ -46,4 +46,16 @@ function leadToNote(lead) {
46
46
  return transcript;
47
47
  }
48
48
  exports.leadToNote = leadToNote;
49
+ function addMessageToTranscript(contact, transcriptData) {
50
+ if (contact.message) {
51
+ transcriptData.transcript.push({
52
+ from: {
53
+ id: "User"
54
+ },
55
+ message: contact.message,
56
+ createdTime: ""
57
+ });
58
+ }
59
+ }
60
+ exports.addMessageToTranscript = addMessageToTranscript;
49
61
  //# sourceMappingURL=util.js.map
package/lib/util.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;AAIA,SAAgB,OAAO,CAAC,IAAkB;IACtC,yEAAyE;IACzE,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAE9E,oDAAoD;IACpD,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC;IAE9C,oFAAoF;IACpF,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;IAChF,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAE9E,0GAA0G;IAC1G,IAAI,cAAc,IAAI,aAAa;QAAE,OAAO,GAAG,cAAc,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;IAE7F,iGAAiG;IACjG,OAAO,EAAE,CAAC;AACd,CAAC;AAhBD,0BAgBC;AAGD,SAAgB,UAAU,CAAC,IAAkB;IACzC,oDAAoD;IACpD,IAAI,UAAU,GAAG,EAAE,CAAC;IAGpB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAExC,0BAA0B;IAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,mDAAmD;IACnD,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;;QAClC,uDAAuD;QACvD,qFAAqF;QACrF,yEAAyE;QACzE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAA,MAAA,CAAC,CAAC,IAAI,0CAAE,EAAE,MAAK,KAAK,IAAI,CAAA,MAAA,CAAC,CAAC,IAAI,0CAAE,EAAE,KAAI,KAAK,EAAE,CAAC;YAC9C,MAAM,GAAG,GAAG,IAAI,IAAI,MAAM,IAAI,CAAC;QACnC,CAAC;aAAM,IAAI,CAAA,MAAA,CAAC,CAAC,IAAI,0CAAE,EAAE,MAAK,KAAK,EAAE,CAAC;YAC9B,MAAM,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,YAAY,CAAC;QAC1B,CAAC;QAED,wFAAwF;QACxF,UAAU,IAAI,GAAG,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,2CAA2C;IAC3C,OAAO,UAAU,CAAC;AACtB,CAAC;AA/BD,gCA+BC"}
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":";;;AAIA,SAAgB,OAAO,CAAC,IAAkB;IACtC,yEAAyE;IACzE,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAE9E,oDAAoD;IACpD,IAAI,aAAa;QAAE,OAAO,aAAa,CAAC,KAAK,CAAC;IAE9C,oFAAoF;IACpF,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC,CAAC;IAChF,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IAE9E,0GAA0G;IAC1G,IAAI,cAAc,IAAI,aAAa;QAAE,OAAO,GAAG,cAAc,CAAC,KAAK,IAAI,aAAa,CAAC,KAAK,EAAE,CAAC;IAE7F,iGAAiG;IACjG,OAAO,EAAE,CAAC;AACd,CAAC;AAhBD,0BAgBC;AAED,SAAgB,UAAU,CAAC,IAAkB;IACzC,oDAAoD;IACpD,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;IAExC,0BAA0B;IAC1B,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE3B,mDAAmD;IACnD,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;;QAClC,uDAAuD;QACvD,qFAAqF;QACrF,yEAAyE;QACzE,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,IAAI,CAAA,MAAA,CAAC,CAAC,IAAI,0CAAE,EAAE,MAAK,KAAK,IAAI,CAAA,MAAA,CAAC,CAAC,IAAI,0CAAE,EAAE,KAAI,KAAK,EAAE,CAAC;YAC9C,MAAM,GAAG,GAAG,IAAI,IAAI,MAAM,IAAI,CAAC;QACnC,CAAC;aAAM,IAAI,CAAA,MAAA,CAAC,CAAC,IAAI,0CAAE,EAAE,MAAK,KAAK,EAAE,CAAC;YAC9B,MAAM,GAAG,CAAC,KAAK,IAAI,KAAK,CAAC,GAAG,IAAI,CAAC;QACrC,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,YAAY,CAAC;QAC1B,CAAC;QAED,wFAAwF;QACxF,UAAU,IAAI,GAAG,MAAM,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,2CAA2C;IAC3C,OAAO,UAAU,CAAC;AACtB,CAAC;AA9BD,gCA8BC;AAED,SAAgB,sBAAsB,CAAC,OAAsB,EAAE,cAA4B;IACvF,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QAClB,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC;YAC3B,IAAI,EAAE;gBACF,EAAE,EAAE,MAAM;aACb;YACD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,WAAW,EAAE,EAAE;SAClB,CAAC,CAAC;IACP,CAAC;AACL,CAAC;AAVD,wDAUC"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
7
- "version": "1.54.17",
7
+ "version": "1.55.2",
8
8
  "description": "Service to integrate with Jobber",
9
9
  "types": "lib/index",
10
10
  "main": "lib/index",
@@ -35,10 +35,10 @@
35
35
  "scripts": {
36
36
  "build": "tsc -d true -p .",
37
37
  "clean": "rm -rf ./lib/*",
38
- "test": "mocha --recursive -r ts-node/register \"./src/**/*.test.ts\"",
39
- "ftest": "mocha --recursive -r ts-node/register \"./src/**/*.ftest.ts\""
38
+ "test": "exit 0",
39
+ "local": "mocha --recursive -r ts-node/register \"./src/**/*.test.ts\""
40
40
  },
41
- "gitHead": "ac022d2cd7bf2d00064d2dbb966431f9053f25ec",
41
+ "gitHead": "524763b8922ab79dc4ca20f1b2a99f2ec695e0e5",
42
42
  "dependencies": {
43
43
  "addresser": "1.1.20"
44
44
  }