@ironcode/vas-lib 1.8.0-alpha.3 → 1.8.0-alpha.4

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.
Files changed (76) hide show
  1. package/cjs/lib/elastic/index.d.ts +2 -0
  2. package/cjs/lib/elastic/index.d.ts.map +1 -0
  3. package/cjs/lib/elastic/index.js +5 -0
  4. package/cjs/lib/elastic/index.js.map +1 -0
  5. package/cjs/lib/elastic/job.elastic-doc.d.ts +14 -0
  6. package/cjs/lib/elastic/job.elastic-doc.d.ts.map +1 -0
  7. package/cjs/lib/elastic/job.elastic-doc.js +3 -0
  8. package/cjs/lib/elastic/job.elastic-doc.js.map +1 -0
  9. package/cjs/lib/entity/index.d.ts +2 -0
  10. package/cjs/lib/entity/index.d.ts.map +1 -1
  11. package/cjs/lib/entity/index.js +2 -0
  12. package/cjs/lib/entity/index.js.map +1 -1
  13. package/cjs/lib/entity/vas-base.model.d.ts +4 -2
  14. package/cjs/lib/entity/vas-base.model.d.ts.map +1 -1
  15. package/cjs/lib/entity/vas-base.model.js.map +1 -1
  16. package/cjs/lib/entity/vas-contact.model.d.ts +1 -0
  17. package/cjs/lib/entity/vas-contact.model.d.ts.map +1 -1
  18. package/cjs/lib/entity/vas-contact.model.js +20 -1
  19. package/cjs/lib/entity/vas-contact.model.js.map +1 -1
  20. package/cjs/lib/entity/vas-form.model.d.ts +4 -0
  21. package/cjs/lib/entity/vas-form.model.d.ts.map +1 -1
  22. package/cjs/lib/entity/vas-form.model.js +9 -0
  23. package/cjs/lib/entity/vas-form.model.js.map +1 -1
  24. package/cjs/lib/entity/vas-job.model.js +1 -1
  25. package/cjs/lib/entity/vas-job.model.js.map +1 -1
  26. package/cjs/lib/entity/vas-user.model.d.ts +1 -1
  27. package/cjs/lib/entity/vas-user.model.d.ts.map +1 -1
  28. package/cjs/lib/entity/vas-user.model.js +1 -1
  29. package/cjs/lib/entity/vas-user.model.js.map +1 -1
  30. package/cjs/lib/entity/vas-vehicle.model.d.ts +1 -0
  31. package/cjs/lib/entity/vas-vehicle.model.d.ts.map +1 -1
  32. package/cjs/lib/entity/vas-vehicle.model.js +12 -0
  33. package/cjs/lib/entity/vas-vehicle.model.js.map +1 -1
  34. package/cjs/lib/utils/omit.d.ts +8 -0
  35. package/cjs/lib/utils/omit.d.ts.map +1 -0
  36. package/cjs/lib/utils/omit.js +26 -0
  37. package/cjs/lib/utils/omit.js.map +1 -0
  38. package/cjs/lib/utils/only.d.ts +8 -0
  39. package/cjs/lib/utils/only.d.ts.map +1 -0
  40. package/cjs/lib/utils/only.js +26 -0
  41. package/cjs/lib/utils/only.js.map +1 -0
  42. package/cjs/package.json +2 -0
  43. package/cjs/public-api.d.ts +1 -0
  44. package/cjs/public-api.d.ts.map +1 -1
  45. package/cjs/public-api.js +1 -0
  46. package/cjs/public-api.js.map +1 -1
  47. package/esm2020/lib/elastic/index.mjs +2 -0
  48. package/esm2020/lib/elastic/job.elastic-doc.mjs +2 -0
  49. package/esm2020/lib/entity/index.mjs +3 -1
  50. package/esm2020/lib/entity/vas-base.model.mjs +1 -1
  51. package/esm2020/lib/entity/vas-contact.model.mjs +20 -5
  52. package/esm2020/lib/entity/vas-form.model.mjs +10 -1
  53. package/esm2020/lib/entity/vas-job.model.mjs +2 -2
  54. package/esm2020/lib/entity/vas-task.dto.mjs +2 -0
  55. package/esm2020/lib/entity/vas-task.model.mjs +66 -0
  56. package/esm2020/lib/entity/vas-user.model.mjs +2 -2
  57. package/esm2020/lib/entity/vas-vehicle.model.mjs +13 -1
  58. package/esm2020/lib/utils/only.mjs +22 -0
  59. package/esm2020/public-api.mjs +2 -1
  60. package/fesm2015/ironcode-vas-lib.mjs +122 -4
  61. package/fesm2015/ironcode-vas-lib.mjs.map +1 -1
  62. package/fesm2020/ironcode-vas-lib.mjs +128 -7
  63. package/fesm2020/ironcode-vas-lib.mjs.map +1 -1
  64. package/lib/elastic/index.d.ts +1 -0
  65. package/lib/elastic/job.elastic-doc.d.ts +13 -0
  66. package/lib/entity/index.d.ts +2 -0
  67. package/lib/entity/vas-base.model.d.ts +4 -2
  68. package/lib/entity/vas-contact.model.d.ts +1 -0
  69. package/lib/entity/vas-form.model.d.ts +4 -0
  70. package/lib/entity/vas-task.dto.d.ts +8 -0
  71. package/lib/entity/vas-task.model.d.ts +34 -0
  72. package/lib/entity/vas-user.model.d.ts +1 -1
  73. package/lib/entity/vas-vehicle.model.d.ts +1 -0
  74. package/lib/utils/only.d.ts +7 -0
  75. package/package.json +1 -1
  76. package/public-api.d.ts +1 -0
@@ -69,7 +69,7 @@ class VasUserModel extends VasBaseModel {
69
69
  this.instructionProviders = instructionProviders;
70
70
  }
71
71
  static fromDto(dto) {
72
- return new VasUserModel(dto.id, dto.created, dto.serverCreated, dto.createdBy, dto.modified, dto.serverModified, dto.modifiedBy, dto.createdByName || '', dto.modifiedByName || '', dto.email, dto.name, dto.username, dto.memberships, dto.instructionProviders);
72
+ return new VasUserModel(dto.id || '', dto.created || '', dto.serverCreated || '', dto.createdBy || '', dto.modified || '', dto.serverModified || '', dto.modifiedBy || '', dto.createdByName || '', dto.modifiedByName || '', dto.email || '', dto.name || '', dto.username || '', dto.memberships || [], dto.instructionProviders || []);
73
73
  }
74
74
  toDto() {
75
75
  return {
@@ -311,6 +311,28 @@ class VasBranchModel extends VasRestrictedAccountObjectModel {
311
311
  }
312
312
  }
313
313
 
314
+ /**
315
+ * Return an object with only the properties specified by key(s)
316
+ *
317
+ * @param obj object to be processed
318
+ * @param omitKey key or array of keys to be kept
319
+ */
320
+ const only = (obj, omitKey) => {
321
+ return Object.keys(obj).reduce((result, key) => {
322
+ if (Array.isArray(omitKey)) {
323
+ if (omitKey.includes(key)) {
324
+ result[key] = obj[key];
325
+ }
326
+ }
327
+ else {
328
+ if (omitKey === key) {
329
+ result[key] = obj[key];
330
+ }
331
+ }
332
+ return result;
333
+ }, {});
334
+ };
335
+
314
336
  class VasContactModel extends VasRestrictedAccountObjectModel {
315
337
  constructor(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, createdByName, modifiedByName, account, accessGroup, contactType, name, email, mobile, phone, address, address2, address3, billingCode, business, fax, vatNumber, website) {
316
338
  super(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, createdByName, modifiedByName, account, accessGroup);
@@ -373,10 +395,6 @@ class VasContactModel extends VasRestrictedAccountObjectModel {
373
395
  toApiDto(options) {
374
396
  return {
375
397
  ...super.toApiDto(),
376
- id: this.id,
377
- created: this.created || '~',
378
- modified: this.modified || '~',
379
- accessGroup: this.accessGroup || '~',
380
398
  contactType: this.contactType || '~',
381
399
  name: this.name || '~',
382
400
  email: this.email || '~',
@@ -392,6 +410,24 @@ class VasContactModel extends VasRestrictedAccountObjectModel {
392
410
  website: this.website || '~',
393
411
  };
394
412
  }
413
+ static toApiPatchDto(contact) {
414
+ return only(contact, [
415
+ 'accessGroup',
416
+ 'contactType',
417
+ 'name',
418
+ 'email',
419
+ 'mobile',
420
+ 'phone',
421
+ 'address',
422
+ 'address2',
423
+ 'address3',
424
+ 'billingCode',
425
+ 'business',
426
+ 'fax',
427
+ 'vatNumber',
428
+ 'website'
429
+ ]);
430
+ }
395
431
  }
396
432
 
397
433
  /**
@@ -1122,6 +1158,15 @@ class VasFormModel extends VasRestrictedAccountObjectModel {
1122
1158
  });
1123
1159
  return paths;
1124
1160
  }
1161
+ /**
1162
+ * Return all Controls in the Form
1163
+ */
1164
+ getControls() {
1165
+ return this.groups
1166
+ .reduce((acc, g) => {
1167
+ return acc.concat(g.controls);
1168
+ }, []);
1169
+ }
1125
1170
  /**
1126
1171
  * @param {VasJobModel} jobModel
1127
1172
  * @return {Array<{id: string, value: VasFieldDtoValue}>}
@@ -1836,7 +1881,7 @@ class VasJobModel extends VasRestrictedAccountObjectModel {
1836
1881
  return new VasJobModel('', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', moment$1().utcOffset(), 0, '', 0, [], [], '', '', getEmptyGeoLocation());
1837
1882
  }
1838
1883
  static fromDto(dto) {
1839
- const model = new VasJobModel(dto.id || '', dto.created || '', dto.serverCreated || '', dto.createdBy || '', dto.modified || '', dto.serverModified || '', dto.modifiedBy || '', dto.createdByName || '', dto.modifiedByName || '', dto.account || '', dto.accessGroup || '', dto.reference || '', dto.jobDate || '', dto.jobStatus || '', dto.jobType || '', dto.assigneeId || '', dto.formId || '', dto.timeZoneOffset || moment$1().utcOffset(), dto.pendingFields || 0, dto.childModified || '', dto.version || 0, dto.fields || [], dto.files || [], dto.createdByDisplayName || '', dto.modifiedByDisplayName || '', dto.geoLocation || getEmptyGeoLocation());
1884
+ const model = new VasJobModel(dto.id || '', dto.created || '', dto.serverCreated || '', dto.createdBy || '', dto.modified || '', dto.serverModified || '', dto.modifiedBy || '', dto.createdByName || '', dto.modifiedByName || '', dto.account || '', dto.accessGroup || '', dto.reference || '', dto.jobDate || '', dto.jobStatus || '', dto.jobType || '', dto.assigneeId || '', dto.formId || dto.lastForm || '', dto.timeZoneOffset || moment$1().utcOffset(), dto.pendingFields || 0, dto.childModified || '', dto.version || 0, dto.fields || [], dto.files || [], dto.createdByDisplayName || '', dto.modifiedByDisplayName || '', dto.geoLocation || getEmptyGeoLocation());
1840
1885
  const emptyKeys = model.staticProperties;
1841
1886
  Object
1842
1887
  .keys(dto)
@@ -2385,6 +2430,71 @@ class VasReportRequestModel extends VasAccountObjectModel {
2385
2430
  }
2386
2431
  }
2387
2432
 
2433
+ /**
2434
+ * VasTaskModel
2435
+ */
2436
+ class VasTaskModel extends VasJobDataModel {
2437
+ constructor(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, createdByName, modifiedByName, account, job, assignee, done, dueDate, taskType, title) {
2438
+ super(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, createdByName, modifiedByName, account, job);
2439
+ this.id = id;
2440
+ this.created = created;
2441
+ this.serverCreated = serverCreated;
2442
+ this.createdBy = createdBy;
2443
+ this.modified = modified;
2444
+ this.serverModified = serverModified;
2445
+ this.modifiedBy = modifiedBy;
2446
+ this.createdByName = createdByName;
2447
+ this.modifiedByName = modifiedByName;
2448
+ this.account = account;
2449
+ this.job = job;
2450
+ this.assignee = assignee;
2451
+ this.done = done;
2452
+ this.dueDate = dueDate;
2453
+ this.taskType = taskType;
2454
+ this.title = title;
2455
+ }
2456
+ /**
2457
+ * @param dto VasTaskDto
2458
+ * @return VasNoteModel
2459
+ */
2460
+ static fromDto(dto) {
2461
+ return new VasTaskModel(dto.id || '', dto.created || '', dto.serverCreated || '', dto.createdBy || '', dto.modified || '', dto.serverModified || '', dto.modifiedBy || '', dto.createdByName || '', dto.modifiedByName || '', dto.account || '', dto.job || '', dto.assignee || '', dto.done || false, dto.dueDate || '', dto.taskType || '', dto.title || '');
2462
+ }
2463
+ /**
2464
+ * @returns VasTaskDto
2465
+ */
2466
+ toDto() {
2467
+ return {
2468
+ id: this.id,
2469
+ created: this.created,
2470
+ serverCreated: this.serverCreated,
2471
+ createdBy: this.createdBy,
2472
+ modified: this.modified,
2473
+ serverModified: this.serverModified,
2474
+ modifiedBy: this.modifiedBy,
2475
+ createdByName: this.createdByName,
2476
+ modifiedByName: this.modifiedByName,
2477
+ account: this.account,
2478
+ job: this.job,
2479
+ assignee: this.assignee,
2480
+ done: this.done,
2481
+ dueDate: this.dueDate,
2482
+ taskType: this.taskType,
2483
+ title: this.title,
2484
+ };
2485
+ }
2486
+ toApiDto(options) {
2487
+ return {
2488
+ ...super.toApiDto(options),
2489
+ assignee: this.assignee,
2490
+ done: this.done,
2491
+ dueDate: this.dueDate,
2492
+ taskType: this.taskType,
2493
+ title: this.title,
2494
+ };
2495
+ }
2496
+ }
2497
+
2388
2498
  class VasVehicleModel extends VasAccountObjectModel {
2389
2499
  constructor(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, createdByName, modifiedByName, account, registration, make, model, archived, description) {
2390
2500
  super(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, createdByName, modifiedByName, account);
@@ -2439,11 +2549,22 @@ class VasVehicleModel extends VasAccountObjectModel {
2439
2549
  description: this.description
2440
2550
  };
2441
2551
  }
2552
+ static toApiPatchDto(dto) {
2553
+ return only(dto, [
2554
+ 'created',
2555
+ 'modified',
2556
+ 'registration',
2557
+ 'make',
2558
+ 'model',
2559
+ 'description',
2560
+ 'archived'
2561
+ ]);
2562
+ }
2442
2563
  }
2443
2564
 
2444
2565
  /**
2445
2566
  * Generated bundle index. Do not edit.
2446
2567
  */
2447
2568
 
2448
- export { VasAccountIndexingMode, VasAccountObjectModel, VasBaseModel, VasBranchModel, VasContactModel, VasControlConfigDirection, VasControlModel, VasControlTypeModel, VasFieldModel, VasFileModel, VasFireUserModel, VasFormConfigModel, VasFormModel, VasGroupModel, VasInstructionJobFieldModel, VasInstructionJobModel, VasInstructionModel, VasInstructionProviderModel, VasInvitationModel, VasInvitationTypeEnum, VasJobDataModel, VasJobEmailModel, VasJobModel, VasMembershipModel, VasNoteModel, VasReportLayoutModel, VasReportModel, VasReportRequestModel, VasRestrictedAccountObjectModel, VasUserModel, VasVehicleModel, getEmptyGeoLocation, isCameraControlValueV1, isFileDto };
2569
+ export { VasAccountIndexingMode, VasAccountObjectModel, VasBaseModel, VasBranchModel, VasContactModel, VasControlConfigDirection, VasControlModel, VasControlTypeModel, VasFieldModel, VasFileModel, VasFireUserModel, VasFormConfigModel, VasFormModel, VasGroupModel, VasInstructionJobFieldModel, VasInstructionJobModel, VasInstructionModel, VasInstructionProviderModel, VasInvitationModel, VasInvitationTypeEnum, VasJobDataModel, VasJobEmailModel, VasJobModel, VasMembershipModel, VasNoteModel, VasReportLayoutModel, VasReportModel, VasReportRequestModel, VasRestrictedAccountObjectModel, VasTaskModel, VasUserModel, VasVehicleModel, getEmptyGeoLocation, isCameraControlValueV1, isFileDto };
2449
2570
  //# sourceMappingURL=ironcode-vas-lib.mjs.map