@ironcode/vas-lib 0.0.40 → 1.0.1

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 (221) hide show
  1. package/cjs/lib/entity/index.d.ts +10 -0
  2. package/cjs/lib/entity/index.d.ts.map +1 -1
  3. package/cjs/lib/entity/index.js +10 -0
  4. package/cjs/lib/entity/index.js.map +1 -1
  5. package/cjs/lib/entity/vas-account-object.model.d.ts +3 -1
  6. package/cjs/lib/entity/vas-account-object.model.d.ts.map +1 -1
  7. package/cjs/lib/entity/vas-account-object.model.js +4 -2
  8. package/cjs/lib/entity/vas-account-object.model.js.map +1 -1
  9. package/cjs/lib/entity/vas-base.dto.d.ts +2 -0
  10. package/cjs/lib/entity/vas-base.dto.d.ts.map +1 -1
  11. package/cjs/lib/entity/vas-base.dto.js.map +1 -1
  12. package/cjs/lib/entity/vas-base.model.d.ts +3 -10
  13. package/cjs/lib/entity/vas-base.model.d.ts.map +1 -1
  14. package/cjs/lib/entity/vas-base.model.js +3 -10
  15. package/cjs/lib/entity/vas-base.model.js.map +1 -1
  16. package/cjs/lib/entity/vas-branch.model.d.ts +3 -1
  17. package/cjs/lib/entity/vas-branch.model.d.ts.map +1 -1
  18. package/cjs/lib/entity/vas-branch.model.js +7 -3
  19. package/cjs/lib/entity/vas-branch.model.js.map +1 -1
  20. package/cjs/lib/entity/vas-contact.dto.d.ts +7 -0
  21. package/cjs/lib/entity/vas-contact.dto.d.ts.map +1 -1
  22. package/cjs/lib/entity/vas-contact.dto.js.map +1 -1
  23. package/cjs/lib/entity/vas-contact.model.d.ts +11 -1
  24. package/cjs/lib/entity/vas-contact.model.d.ts.map +1 -1
  25. package/cjs/lib/entity/vas-contact.model.js +24 -3
  26. package/cjs/lib/entity/vas-contact.model.js.map +1 -1
  27. package/cjs/lib/entity/vas-control-type.model.d.ts +5 -9
  28. package/cjs/lib/entity/vas-control-type.model.d.ts.map +1 -1
  29. package/cjs/lib/entity/vas-control-type.model.js +13 -13
  30. package/cjs/lib/entity/vas-control-type.model.js.map +1 -1
  31. package/cjs/lib/entity/vas-control.dto.d.ts +3 -1
  32. package/cjs/lib/entity/vas-control.dto.d.ts.map +1 -1
  33. package/cjs/lib/entity/vas-control.dto.js.map +1 -1
  34. package/cjs/lib/entity/vas-control.model.d.ts +11 -37
  35. package/cjs/lib/entity/vas-control.model.d.ts.map +1 -1
  36. package/cjs/lib/entity/vas-control.model.js +40 -50
  37. package/cjs/lib/entity/vas-control.model.js.map +1 -1
  38. package/cjs/lib/entity/vas-field.model.d.ts +3 -1
  39. package/cjs/lib/entity/vas-field.model.d.ts.map +1 -1
  40. package/cjs/lib/entity/vas-field.model.js +7 -3
  41. package/cjs/lib/entity/vas-field.model.js.map +1 -1
  42. package/cjs/lib/entity/vas-file.model.d.ts +4 -2
  43. package/cjs/lib/entity/vas-file.model.d.ts.map +1 -1
  44. package/cjs/lib/entity/vas-file.model.js +9 -5
  45. package/cjs/lib/entity/vas-file.model.js.map +1 -1
  46. package/cjs/lib/entity/vas-fire-user.model.d.ts +6 -1
  47. package/cjs/lib/entity/vas-fire-user.model.d.ts.map +1 -1
  48. package/cjs/lib/entity/vas-fire-user.model.js +14 -4
  49. package/cjs/lib/entity/vas-fire-user.model.js.map +1 -1
  50. package/cjs/lib/entity/vas-form.dto.d.ts +1 -0
  51. package/cjs/lib/entity/vas-form.dto.d.ts.map +1 -1
  52. package/cjs/lib/entity/vas-form.dto.js.map +1 -1
  53. package/cjs/lib/entity/vas-form.model.d.ts +7 -22
  54. package/cjs/lib/entity/vas-form.model.d.ts.map +1 -1
  55. package/cjs/lib/entity/vas-form.model.js +27 -42
  56. package/cjs/lib/entity/vas-form.model.js.map +1 -1
  57. package/cjs/lib/entity/vas-group.model.d.ts +3 -22
  58. package/cjs/lib/entity/vas-group.model.d.ts.map +1 -1
  59. package/cjs/lib/entity/vas-group.model.js +7 -24
  60. package/cjs/lib/entity/vas-group.model.js.map +1 -1
  61. package/cjs/lib/entity/vas-instruction-job-field.dto.d.ts +6 -0
  62. package/cjs/lib/entity/vas-instruction-job-field.dto.d.ts.map +1 -0
  63. package/cjs/lib/entity/vas-instruction-job-field.dto.js +3 -0
  64. package/cjs/lib/entity/vas-instruction-job-field.dto.js.map +1 -0
  65. package/cjs/lib/entity/vas-instruction-job-field.model.d.ts +23 -0
  66. package/cjs/lib/entity/vas-instruction-job-field.model.d.ts.map +1 -0
  67. package/cjs/lib/entity/vas-instruction-job-field.model.js +46 -0
  68. package/cjs/lib/entity/vas-instruction-job-field.model.js.map +1 -0
  69. package/cjs/lib/entity/vas-instruction-job.dto.d.ts +16 -0
  70. package/cjs/lib/entity/vas-instruction-job.dto.d.ts.map +1 -0
  71. package/cjs/lib/entity/vas-instruction-job.dto.js +3 -0
  72. package/cjs/lib/entity/vas-instruction-job.dto.js.map +1 -0
  73. package/cjs/lib/entity/vas-instruction-job.model.d.ts +58 -0
  74. package/cjs/lib/entity/vas-instruction-job.model.d.ts.map +1 -0
  75. package/cjs/lib/entity/vas-instruction-job.model.js +85 -0
  76. package/cjs/lib/entity/vas-instruction-job.model.js.map +1 -0
  77. package/cjs/lib/entity/vas-instruction-provider.dto.d.ts +9 -0
  78. package/cjs/lib/entity/vas-instruction-provider.dto.d.ts.map +1 -0
  79. package/cjs/lib/entity/vas-instruction-provider.dto.js +3 -0
  80. package/cjs/lib/entity/vas-instruction-provider.dto.js.map +1 -0
  81. package/cjs/lib/entity/vas-instruction-provider.model.d.ts +34 -0
  82. package/cjs/lib/entity/vas-instruction-provider.model.d.ts.map +1 -0
  83. package/cjs/lib/entity/vas-instruction-provider.model.js +62 -0
  84. package/cjs/lib/entity/vas-instruction-provider.model.js.map +1 -0
  85. package/cjs/lib/entity/vas-instruction.dto.d.ts +6 -0
  86. package/cjs/lib/entity/vas-instruction.dto.d.ts.map +1 -0
  87. package/cjs/lib/entity/vas-instruction.dto.js +3 -0
  88. package/cjs/lib/entity/vas-instruction.dto.js.map +1 -0
  89. package/cjs/lib/entity/vas-instruction.model.d.ts +30 -0
  90. package/cjs/lib/entity/vas-instruction.model.d.ts.map +1 -0
  91. package/cjs/lib/entity/vas-instruction.model.js +53 -0
  92. package/cjs/lib/entity/vas-instruction.model.js.map +1 -0
  93. package/cjs/lib/entity/vas-invitation.d.ts +36 -3
  94. package/cjs/lib/entity/vas-invitation.d.ts.map +1 -1
  95. package/cjs/lib/entity/vas-invitation.js +57 -4
  96. package/cjs/lib/entity/vas-invitation.js.map +1 -1
  97. package/cjs/lib/entity/vas-job-data.model.d.ts +3 -12
  98. package/cjs/lib/entity/vas-job-data.model.d.ts.map +1 -1
  99. package/cjs/lib/entity/vas-job-data.model.js +4 -13
  100. package/cjs/lib/entity/vas-job-data.model.js.map +1 -1
  101. package/cjs/lib/entity/vas-job.model.d.ts +8 -37
  102. package/cjs/lib/entity/vas-job.model.d.ts.map +1 -1
  103. package/cjs/lib/entity/vas-job.model.js +16 -48
  104. package/cjs/lib/entity/vas-job.model.js.map +1 -1
  105. package/cjs/lib/entity/vas-job.model.spec-data.d.ts +1 -2
  106. package/cjs/lib/entity/vas-job.model.spec-data.d.ts.map +1 -1
  107. package/cjs/lib/entity/vas-job.model.spec-data.js +15 -55
  108. package/cjs/lib/entity/vas-job.model.spec-data.js.map +1 -1
  109. package/cjs/lib/entity/vas-membership.model.d.ts +3 -1
  110. package/cjs/lib/entity/vas-membership.model.d.ts.map +1 -1
  111. package/cjs/lib/entity/vas-membership.model.js +7 -3
  112. package/cjs/lib/entity/vas-membership.model.js.map +1 -1
  113. package/cjs/lib/entity/vas-note.dto.d.ts +7 -0
  114. package/cjs/lib/entity/vas-note.dto.d.ts.map +1 -0
  115. package/cjs/lib/entity/vas-note.dto.js +3 -0
  116. package/cjs/lib/entity/vas-note.dto.js.map +1 -0
  117. package/cjs/lib/entity/vas-note.model.d.ts +31 -0
  118. package/cjs/lib/entity/vas-note.model.d.ts.map +1 -0
  119. package/cjs/lib/entity/vas-note.model.js +54 -0
  120. package/cjs/lib/entity/vas-note.model.js.map +1 -0
  121. package/cjs/lib/entity/vas-report-layout.model.d.ts +3 -1
  122. package/cjs/lib/entity/vas-report-layout.model.d.ts.map +1 -1
  123. package/cjs/lib/entity/vas-report-layout.model.js +4 -2
  124. package/cjs/lib/entity/vas-report-layout.model.js.map +1 -1
  125. package/cjs/lib/entity/vas-report-request.model.d.ts +3 -1
  126. package/cjs/lib/entity/vas-report-request.model.d.ts.map +1 -1
  127. package/cjs/lib/entity/vas-report-request.model.js +7 -3
  128. package/cjs/lib/entity/vas-report-request.model.js.map +1 -1
  129. package/cjs/lib/entity/vas-report.model.d.ts +5 -3
  130. package/cjs/lib/entity/vas-report.model.d.ts.map +1 -1
  131. package/cjs/lib/entity/vas-report.model.js +10 -12
  132. package/cjs/lib/entity/vas-report.model.js.map +1 -1
  133. package/cjs/lib/entity/vas-restricted-account-object.model.d.ts +3 -1
  134. package/cjs/lib/entity/vas-restricted-account-object.model.d.ts.map +1 -1
  135. package/cjs/lib/entity/vas-restricted-account-object.model.js +4 -2
  136. package/cjs/lib/entity/vas-restricted-account-object.model.js.map +1 -1
  137. package/cjs/lib/entity/vas-user.dto.d.ts +3 -0
  138. package/cjs/lib/entity/vas-user.dto.d.ts.map +1 -1
  139. package/cjs/lib/entity/vas-user.dto.js.map +1 -1
  140. package/cjs/lib/entity/vas-user.model.d.ts +6 -1
  141. package/cjs/lib/entity/vas-user.model.d.ts.map +1 -1
  142. package/cjs/lib/entity/vas-user.model.js +14 -4
  143. package/cjs/lib/entity/vas-user.model.js.map +1 -1
  144. package/cjs/package.json +12 -6
  145. package/esm2020/lib/entity/index.mjs +11 -1
  146. package/esm2020/lib/entity/vas-account-object.model.mjs +5 -3
  147. package/esm2020/lib/entity/vas-base.dto.mjs +1 -1
  148. package/esm2020/lib/entity/vas-base.model.mjs +4 -11
  149. package/esm2020/lib/entity/vas-branch.model.mjs +8 -4
  150. package/esm2020/lib/entity/vas-contact.dto.mjs +1 -1
  151. package/esm2020/lib/entity/vas-contact.model.mjs +44 -4
  152. package/esm2020/lib/entity/vas-control-type.model.mjs +14 -14
  153. package/esm2020/lib/entity/vas-control.dto.mjs +1 -1
  154. package/esm2020/lib/entity/vas-control.model.mjs +45 -51
  155. package/esm2020/lib/entity/vas-field.model.mjs +8 -4
  156. package/esm2020/lib/entity/vas-file.model.mjs +10 -6
  157. package/esm2020/lib/entity/vas-fire-user.model.mjs +15 -5
  158. package/esm2020/lib/entity/vas-form.dto.mjs +1 -1
  159. package/esm2020/lib/entity/vas-form.model.mjs +28 -42
  160. package/esm2020/lib/entity/vas-group.model.mjs +8 -25
  161. package/esm2020/lib/entity/vas-instruction-job-field.dto.mjs +2 -0
  162. package/esm2020/lib/entity/vas-instruction-job-field.model.mjs +42 -0
  163. package/esm2020/lib/entity/vas-instruction-job.dto.mjs +2 -0
  164. package/esm2020/lib/entity/vas-instruction-job.model.mjs +81 -0
  165. package/esm2020/lib/entity/vas-instruction-provider.dto.mjs +2 -0
  166. package/esm2020/lib/entity/vas-instruction-provider.model.mjs +63 -0
  167. package/esm2020/lib/entity/vas-instruction.dto.mjs +2 -0
  168. package/esm2020/lib/entity/vas-instruction.model.mjs +49 -0
  169. package/esm2020/lib/entity/vas-invitation.mjs +60 -4
  170. package/esm2020/lib/entity/vas-job-data.model.mjs +5 -14
  171. package/esm2020/lib/entity/vas-job.model.mjs +17 -49
  172. package/esm2020/lib/entity/vas-membership.model.mjs +8 -4
  173. package/esm2020/lib/entity/vas-note.dto.mjs +2 -0
  174. package/esm2020/lib/entity/vas-note.model.mjs +50 -0
  175. package/esm2020/lib/entity/vas-report-layout.model.mjs +5 -3
  176. package/esm2020/lib/entity/vas-report-request.model.mjs +8 -4
  177. package/esm2020/lib/entity/vas-report.model.mjs +11 -13
  178. package/esm2020/lib/entity/vas-restricted-account-object.model.mjs +5 -3
  179. package/esm2020/lib/entity/vas-user.dto.mjs +1 -1
  180. package/esm2020/lib/entity/vas-user.model.mjs +15 -5
  181. package/fesm2015/ironcode-vas-lib.mjs +626 -329
  182. package/fesm2015/ironcode-vas-lib.mjs.map +1 -1
  183. package/fesm2020/ironcode-vas-lib.mjs +655 -326
  184. package/fesm2020/ironcode-vas-lib.mjs.map +1 -1
  185. package/lib/entity/index.d.ts +10 -0
  186. package/lib/entity/vas-account-object.model.d.ts +3 -1
  187. package/lib/entity/vas-base.dto.d.ts +2 -0
  188. package/lib/entity/vas-base.model.d.ts +3 -10
  189. package/lib/entity/vas-branch.model.d.ts +3 -1
  190. package/lib/entity/vas-contact.dto.d.ts +7 -0
  191. package/lib/entity/vas-contact.model.d.ts +11 -1
  192. package/lib/entity/vas-control-type.model.d.ts +5 -9
  193. package/lib/entity/vas-control.dto.d.ts +3 -1
  194. package/lib/entity/vas-control.model.d.ts +11 -37
  195. package/lib/entity/vas-field.model.d.ts +3 -1
  196. package/lib/entity/vas-file.model.d.ts +4 -2
  197. package/lib/entity/vas-fire-user.model.d.ts +6 -1
  198. package/lib/entity/vas-form.dto.d.ts +1 -0
  199. package/lib/entity/vas-form.model.d.ts +7 -22
  200. package/lib/entity/vas-group.model.d.ts +3 -22
  201. package/lib/entity/vas-instruction-job-field.dto.d.ts +5 -0
  202. package/lib/entity/vas-instruction-job-field.model.d.ts +22 -0
  203. package/lib/entity/vas-instruction-job.dto.d.ts +15 -0
  204. package/lib/entity/vas-instruction-job.model.d.ts +57 -0
  205. package/lib/entity/vas-instruction-provider.dto.d.ts +8 -0
  206. package/lib/entity/vas-instruction-provider.model.d.ts +33 -0
  207. package/lib/entity/vas-instruction.dto.d.ts +5 -0
  208. package/lib/entity/vas-instruction.model.d.ts +29 -0
  209. package/lib/entity/vas-invitation.d.ts +36 -3
  210. package/lib/entity/vas-job-data.model.d.ts +3 -12
  211. package/lib/entity/vas-job.model.d.ts +8 -37
  212. package/lib/entity/vas-membership.model.d.ts +3 -1
  213. package/lib/entity/vas-note.dto.d.ts +6 -0
  214. package/lib/entity/vas-note.model.d.ts +30 -0
  215. package/lib/entity/vas-report-layout.model.d.ts +3 -1
  216. package/lib/entity/vas-report-request.model.d.ts +3 -1
  217. package/lib/entity/vas-report.model.d.ts +5 -3
  218. package/lib/entity/vas-restricted-account-object.model.d.ts +3 -1
  219. package/lib/entity/vas-user.dto.d.ts +3 -0
  220. package/lib/entity/vas-user.model.d.ts +6 -1
  221. package/package.json +1 -1
@@ -1,10 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.VasInvitationModel = void 0;
3
+ exports.VasInvitationModel = exports.VasInvitationTypeEnum = void 0;
4
4
  const vas_account_object_model_1 = require("./vas-account-object.model");
5
+ var VasInvitationTypeEnum;
6
+ (function (VasInvitationTypeEnum) {
7
+ VasInvitationTypeEnum["TYPE_VAS_DESKTOP"] = "vas-desktop";
8
+ VasInvitationTypeEnum["TYPE_VAS_MOBILE"] = "vas-mobile";
9
+ VasInvitationTypeEnum["TYPE_VAS_PORTAL"] = "vas-portal";
10
+ VasInvitationTypeEnum["TYPE_P2C_DESKTOP"] = "p2c-desktop";
11
+ VasInvitationTypeEnum["TYPE_P2C_MOBILE"] = "p2c-mobile";
12
+ })(VasInvitationTypeEnum = exports.VasInvitationTypeEnum || (exports.VasInvitationTypeEnum = {}));
5
13
  class VasInvitationModel extends vas_account_object_model_1.VasAccountObjectModel {
6
- constructor(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, account, secret) {
7
- super(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, account);
14
+ constructor(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, createdByName, modifiedByName, account, secret, type, accessGroups, contactTypes, jobStatuses, jobTypes, lookupTypes, taskTypes, instructionProviders) {
15
+ super(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, createdByName, modifiedByName, account);
8
16
  this.id = id;
9
17
  this.created = created;
10
18
  this.serverCreated = serverCreated;
@@ -12,8 +20,18 @@ class VasInvitationModel extends vas_account_object_model_1.VasAccountObjectMode
12
20
  this.modified = modified;
13
21
  this.serverModified = serverModified;
14
22
  this.modifiedBy = modifiedBy;
23
+ this.createdByName = createdByName;
24
+ this.modifiedByName = modifiedByName;
15
25
  this.account = account;
16
26
  this.secret = secret;
27
+ this.type = type;
28
+ this.accessGroups = accessGroups;
29
+ this.contactTypes = contactTypes;
30
+ this.jobStatuses = jobStatuses;
31
+ this.jobTypes = jobTypes;
32
+ this.lookupTypes = lookupTypes;
33
+ this.taskTypes = taskTypes;
34
+ this.instructionProviders = instructionProviders;
17
35
  }
18
36
  toDto() {
19
37
  return {
@@ -24,12 +42,47 @@ class VasInvitationModel extends vas_account_object_model_1.VasAccountObjectMode
24
42
  modified: this.modified,
25
43
  serverModified: this.serverModified,
26
44
  modifiedBy: this.modifiedBy,
45
+ createdByName: this.createdByName,
46
+ modifiedByName: this.modifiedByName,
27
47
  account: this.account,
28
48
  secret: this.secret,
49
+ type: this.type,
50
+ accessGroups: this.accessGroups,
51
+ contactTypes: this.contactTypes,
52
+ jobStatuses: this.jobStatuses,
53
+ jobTypes: this.jobTypes,
54
+ lookupTypes: this.lookupTypes,
55
+ taskTypes: this.taskTypes,
56
+ instructionProviders: this.instructionProviders,
29
57
  };
30
58
  }
31
59
  static fromDto(dto) {
32
- return new VasInvitationModel(dto.id || '', dto.created || '', dto.serverCreated || '', dto.createdBy || '', dto.modified || '', dto.serverModified || '', dto.modifiedBy || '', dto.account || '', dto.secret || '');
60
+ return new VasInvitationModel(dto.id || '', dto.created || '', dto.serverCreated || '', dto.createdBy || '', dto.modified || '', dto.serverModified || '', dto.modifiedBy || '', dto.createdByName || '', dto.modifiedByName || '', dto.account || '', dto.secret || '', dto.type || VasInvitationTypeEnum.TYPE_VAS_PORTAL, dto.accessGroups || [], dto.contactTypes || [], dto.jobStatuses || [], dto.jobTypes || [], dto.lookupTypes || [], dto.taskTypes || [], dto.instructionProviders || []);
61
+ }
62
+ toApiDto(options) {
63
+ const dto = Object.assign(Object.assign({}, super.toApiDto()), { type: this.type });
64
+ if (this.accessGroups.length) {
65
+ dto['accessGroups'] = this.accessGroups.map(d => d.id);
66
+ }
67
+ if (this.contactTypes.length) {
68
+ dto['contactTypes'] = this.contactTypes.map(d => d.id);
69
+ }
70
+ if (this.jobStatuses.length) {
71
+ dto['jobStatuses'] = this.jobStatuses.map(d => d.id);
72
+ }
73
+ if (this.jobTypes.length) {
74
+ dto['jobTypes'] = this.jobTypes.map(d => d.id);
75
+ }
76
+ if (this.lookupTypes.length) {
77
+ dto['lookupTypes'] = this.lookupTypes.map(d => d.id);
78
+ }
79
+ if (this.taskTypes.length) {
80
+ dto['taskTypes'] = this.taskTypes.map(d => d.id);
81
+ }
82
+ if (this.instructionProviders.length) {
83
+ dto['instructionProviders'] = this.instructionProviders.map(d => d.id);
84
+ }
85
+ return dto;
33
86
  }
34
87
  }
35
88
  exports.VasInvitationModel = VasInvitationModel;
@@ -1 +1 @@
1
- {"version":3,"file":"vas-invitation.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-invitation.ts"],"names":[],"mappings":";;;AAAA,yEAAmE;AAOnE,MAAa,kBAAmB,SAAQ,gDAAqB;IAE3D,YACkB,EAAU,EACV,OAAe,EACf,aAAqB,EACrB,SAAiB,EACjB,QAAgB,EAChB,cAAsB,EACtB,UAAkB,EAClB,OAAe,EACxB,MAAc;QAErB,KAAK,CACH,EAAE,EACF,OAAO,EACP,aAAa,EACb,SAAS,EACT,QAAQ,EACR,cAAc,EACd,UAAU,EACV,OAAO,CACR,CAAC;QAnBc,OAAE,GAAF,EAAE,CAAQ;QACV,YAAO,GAAP,OAAO,CAAQ;QACf,kBAAa,GAAb,aAAa,CAAQ;QACrB,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,mBAAc,GAAd,cAAc,CAAQ;QACtB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAQ;QACxB,WAAM,GAAN,MAAM,CAAQ;IAYvB,CAAC;IAED,KAAK;QACH,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,GAAqB;QAClC,OAAO,IAAI,kBAAkB,CAC3B,GAAG,CAAC,EAAE,IAAI,EAAE,EACZ,GAAG,CAAC,OAAO,IAAI,EAAE,EACjB,GAAG,CAAC,aAAa,IAAI,EAAE,EACvB,GAAG,CAAC,SAAS,IAAI,EAAE,EACnB,GAAG,CAAC,QAAQ,IAAI,EAAE,EAClB,GAAG,CAAC,cAAc,IAAI,EAAE,EACxB,GAAG,CAAC,UAAU,IAAI,EAAE,EACpB,GAAG,CAAC,OAAO,IAAI,EAAE,EACjB,GAAG,CAAC,MAAM,IAAI,EAAE,CACjB,CAAC;IACJ,CAAC;CACF;AApDD,gDAoDC","sourcesContent":["import { VasAccountObjectModel } from './vas-account-object.model';\nimport { VasAccountObjectDto } from './vas-account-object.dto';\n\nexport interface VasInvitationDto extends VasAccountObjectDto {\n secret: string;\n}\n\nexport class VasInvitationModel extends VasAccountObjectModel implements VasAccountObjectDto {\n\n constructor(\n public override id: string,\n public override created: string,\n public override serverCreated: string,\n public override createdBy: string,\n public override modified: string,\n public override serverModified: string,\n public override modifiedBy: string,\n public override account: string,\n public secret: string\n ) {\n super(\n id,\n created,\n serverCreated,\n createdBy,\n modified,\n serverModified,\n modifiedBy,\n account\n );\n }\n\n toDto(): VasInvitationDto {\n return {\n id: this.id,\n created: this.created,\n serverCreated: this.serverCreated,\n createdBy: this.createdBy,\n modified: this.modified,\n serverModified: this.serverModified,\n modifiedBy: this.modifiedBy,\n account: this.account,\n secret: this.secret,\n };\n }\n\n static fromDto(dto: VasInvitationDto): VasInvitationModel {\n return new VasInvitationModel(\n dto.id || '',\n dto.created || '',\n dto.serverCreated || '',\n dto.createdBy || '',\n dto.modified || '',\n dto.serverModified || '',\n dto.modifiedBy || '',\n dto.account || '',\n dto.secret || '',\n );\n }\n}\n"]}
1
+ {"version":3,"file":"vas-invitation.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-invitation.ts"],"names":[],"mappings":"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","sourcesContent":["import { VasAccountObjectDto } from './vas-account-object.dto';\nimport { VasAccessGroupDto } from './vas-access-group.dto';\nimport { VasContactTypeDto } from './vas-contact-type.dto';\nimport { VasInstructionProviderDto } from './vas-instruction-provider.dto';\nimport { VasJobStatusDto } from './vas-job-status.dto';\nimport { VasJobTypeDto } from './vas-job-type.dto';\nimport { VasLookupTypeDto } from './vas-lookup-type.dto';\nimport { VasTaskTypeDto } from './vas-task-type.dto';\nimport { VasAccountObjectModel } from './vas-account-object.model';\n\nexport enum VasInvitationTypeEnum {\n TYPE_VAS_DESKTOP = 'vas-desktop',\n TYPE_VAS_MOBILE = 'vas-mobile',\n TYPE_VAS_PORTAL = 'vas-portal',\n TYPE_P2C_DESKTOP = 'p2c-desktop',\n TYPE_P2C_MOBILE = 'p2c-mobile',\n}\n\nexport interface VasInvitationDto extends VasAccountObjectDto {\n secret: string;\n type: VasInvitationTypeEnum;\n accessGroups: Array<VasAccessGroupDto>;\n contactTypes: Array<VasContactTypeDto>;\n jobStatuses: Array<VasJobStatusDto>;\n jobTypes: Array<VasJobTypeDto>;\n lookupTypes: Array<VasLookupTypeDto>;\n taskTypes: Array<VasTaskTypeDto>;\n instructionProviders: Array<VasInstructionProviderDto>;\n}\n\nexport class VasInvitationModel extends VasAccountObjectModel implements VasAccountObjectDto {\n\n constructor(\n public override id: string,\n public override created: string,\n public override serverCreated: string,\n public override createdBy: string,\n public override modified: string,\n public override serverModified: string,\n public override modifiedBy: string,\n public override createdByName: string,\n public override modifiedByName: string,\n public override account: string,\n public secret: string,\n public type: VasInvitationTypeEnum,\n public accessGroups: Array<VasAccessGroupDto>,\n public contactTypes: Array<VasContactTypeDto>,\n public jobStatuses: Array<VasJobStatusDto>,\n public jobTypes: Array<VasJobTypeDto>,\n public lookupTypes: Array<VasLookupTypeDto>,\n public taskTypes: Array<VasTaskTypeDto>,\n public instructionProviders: Array<VasInstructionProviderDto>,\n ) {\n super(\n id,\n created,\n serverCreated,\n createdBy,\n modified,\n serverModified,\n modifiedBy,\n createdByName,\n modifiedByName,\n account\n );\n }\n\n toDto(): VasInvitationDto {\n return {\n id: this.id,\n created: this.created,\n serverCreated: this.serverCreated,\n createdBy: this.createdBy,\n modified: this.modified,\n serverModified: this.serverModified,\n modifiedBy: this.modifiedBy,\n createdByName: this.createdByName,\n modifiedByName: this.modifiedByName,\n account: this.account,\n secret: this.secret,\n type: this.type,\n accessGroups: this.accessGroups,\n contactTypes: this.contactTypes,\n jobStatuses: this.jobStatuses,\n jobTypes: this.jobTypes,\n lookupTypes: this.lookupTypes,\n taskTypes: this.taskTypes,\n instructionProviders: this.instructionProviders,\n };\n }\n\n static fromDto(dto: Partial<VasInvitationDto>): VasInvitationModel {\n return new VasInvitationModel(\n dto.id || '',\n dto.created || '',\n dto.serverCreated || '',\n dto.createdBy || '',\n dto.modified || '',\n dto.serverModified || '',\n dto.modifiedBy || '',\n dto.createdByName || '',\n dto.modifiedByName || '',\n dto.account || '',\n dto.secret || '',\n dto.type || VasInvitationTypeEnum.TYPE_VAS_PORTAL,\n dto.accessGroups || [],\n dto.contactTypes || [],\n dto.jobStatuses || [],\n dto.jobTypes || [],\n dto.lookupTypes || [],\n dto.taskTypes || [],\n dto.instructionProviders || [],\n );\n }\n\n\n override toApiDto(options?: any): Record<string, string | number | boolean> {\n const dto: Record<string, any> = {\n ...super.toApiDto(),\n type: this.type\n };\n\n if (this.accessGroups.length) {\n dto['accessGroups'] = this.accessGroups.map(d => d.id);\n }\n if (this.contactTypes.length) {\n dto['contactTypes'] = this.contactTypes.map(d => d.id);\n }\n if (this.jobStatuses.length) {\n dto['jobStatuses'] = this.jobStatuses.map(d => d.id);\n }\n if (this.jobTypes.length) {\n dto['jobTypes'] = this.jobTypes.map(d => d.id);\n }\n if (this.lookupTypes.length) {\n dto['lookupTypes'] = this.lookupTypes.map(d => d.id);\n }\n if (this.taskTypes.length) {\n dto['taskTypes'] = this.taskTypes.map(d => d.id);\n }\n if (this.instructionProviders.length) {\n dto['instructionProviders'] = this.instructionProviders.map(d => d.id);\n }\n return dto;\n }\n}\n"]}
@@ -10,19 +10,10 @@ export declare abstract class VasJobDataModel extends VasAccountObjectModel {
10
10
  modified: string;
11
11
  serverModified: string;
12
12
  modifiedBy: string;
13
+ createdByName: string;
14
+ modifiedByName: string;
13
15
  account: string;
14
16
  job: string;
15
- /**
16
- * @param {string} id
17
- * @param {string} created
18
- * @param {string} serverCreated
19
- * @param {string} createdBy
20
- * @param {string} modified
21
- * @param {string} serverModified
22
- * @param {string} modifiedBy
23
- * @param {string} account
24
- * @param {string} job
25
- */
26
- constructor(id: string, created: string, serverCreated: string, createdBy: string, modified: string, serverModified: string, modifiedBy: string, account: string, job: string);
17
+ constructor(id: string, created: string, serverCreated: string, createdBy: string, modified: string, serverModified: string, modifiedBy: string, createdByName: string, modifiedByName: string, account: string, job: string);
27
18
  }
28
19
  //# sourceMappingURL=vas-job-data.model.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vas-job-data.model.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-job-data.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;GAEG;AACH,8BAAsB,eAAgB,SAAQ,qBAAqB;IAa/C,EAAE,EAAE,MAAM;IACV,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,MAAM;IACrB,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,MAAM;IAChB,cAAc,EAAE,MAAM;IACtB,UAAU,EAAE,MAAM;IAClB,OAAO,EAAE,MAAM;IACxB,GAAG,EAAE,MAAM;IApBpB;;;;;;;;;;OAUG;gBAEe,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACxB,GAAG,EAAE,MAAM;CAarB"}
1
+ {"version":3,"file":"vas-job-data.model.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-job-data.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE;;GAEG;AACH,8BAAsB,eAAgB,SAAQ,qBAAqB;IAG/C,EAAE,EAAE,MAAM;IACV,OAAO,EAAE,MAAM;IACf,aAAa,EAAE,MAAM;IACrB,SAAS,EAAE,MAAM;IACjB,QAAQ,EAAE,MAAM;IAChB,cAAc,EAAE,MAAM;IACtB,UAAU,EAAE,MAAM;IAClB,aAAa,EAAE,MAAM;IACrB,cAAc,EAAE,MAAM;IACtB,OAAO,EAAE,MAAM;IACxB,GAAG,EAAE,MAAM;gBAVF,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,MAAM,EACf,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,EACtB,OAAO,EAAE,MAAM,EACxB,GAAG,EAAE,MAAM;CAerB"}
@@ -6,19 +6,8 @@ const vas_account_object_model_1 = require("./vas-account-object.model");
6
6
  * VasJobDataModel
7
7
  */
8
8
  class VasJobDataModel extends vas_account_object_model_1.VasAccountObjectModel {
9
- /**
10
- * @param {string} id
11
- * @param {string} created
12
- * @param {string} serverCreated
13
- * @param {string} createdBy
14
- * @param {string} modified
15
- * @param {string} serverModified
16
- * @param {string} modifiedBy
17
- * @param {string} account
18
- * @param {string} job
19
- */
20
- constructor(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, account, job) {
21
- super(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, account);
9
+ constructor(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, createdByName, modifiedByName, account, job) {
10
+ super(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, createdByName, modifiedByName, account);
22
11
  this.id = id;
23
12
  this.created = created;
24
13
  this.serverCreated = serverCreated;
@@ -26,6 +15,8 @@ class VasJobDataModel extends vas_account_object_model_1.VasAccountObjectModel {
26
15
  this.modified = modified;
27
16
  this.serverModified = serverModified;
28
17
  this.modifiedBy = modifiedBy;
18
+ this.createdByName = createdByName;
19
+ this.modifiedByName = modifiedByName;
29
20
  this.account = account;
30
21
  this.job = job;
31
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"vas-job-data.model.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-job-data.model.ts"],"names":[],"mappings":";;;AAAA,yEAAmE;AAEnE;;GAEG;AACH,MAAsB,eAAgB,SAAQ,gDAAqB;IACjE;;;;;;;;;;OAUG;IACH,YACkB,EAAU,EACV,OAAe,EACf,aAAqB,EACrB,SAAiB,EACjB,QAAgB,EAChB,cAAsB,EACtB,UAAkB,EAClB,OAAe,EACxB,GAAW;QAElB,KAAK,CACH,EAAE,EACF,OAAO,EACP,aAAa,EACb,SAAS,EACT,QAAQ,EACR,cAAc,EACd,UAAU,EACV,OAAO,CACR,CAAC;QAnBc,OAAE,GAAF,EAAE,CAAQ;QACV,YAAO,GAAP,OAAO,CAAQ;QACf,kBAAa,GAAb,aAAa,CAAQ;QACrB,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,mBAAc,GAAd,cAAc,CAAQ;QACtB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAQ;QACxB,QAAG,GAAH,GAAG,CAAQ;IAYpB,CAAC;CACF;AAlCD,0CAkCC","sourcesContent":["import { VasAccountObjectModel } from './vas-account-object.model';\n\n/**\n * VasJobDataModel\n */\nexport abstract class VasJobDataModel extends VasAccountObjectModel {\n /**\n * @param {string} id\n * @param {string} created\n * @param {string} serverCreated\n * @param {string} createdBy\n * @param {string} modified\n * @param {string} serverModified\n * @param {string} modifiedBy\n * @param {string} account\n * @param {string} job\n */\n constructor(\n public override id: string,\n public override created: string,\n public override serverCreated: string,\n public override createdBy: string,\n public override modified: string,\n public override serverModified: string,\n public override modifiedBy: string,\n public override account: string,\n public job: string\n ) {\n super(\n id,\n created,\n serverCreated,\n createdBy,\n modified,\n serverModified,\n modifiedBy,\n account\n );\n }\n}\n"]}
1
+ {"version":3,"file":"vas-job-data.model.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-job-data.model.ts"],"names":[],"mappings":";;;AAAA,yEAAmE;AAEnE;;GAEG;AACH,MAAsB,eAAgB,SAAQ,gDAAqB;IAEjE,YACkB,EAAU,EACV,OAAe,EACf,aAAqB,EACrB,SAAiB,EACjB,QAAgB,EAChB,cAAsB,EACtB,UAAkB,EAClB,aAAqB,EACrB,cAAsB,EACtB,OAAe,EACxB,GAAW;QAElB,KAAK,CACH,EAAE,EACF,OAAO,EACP,aAAa,EACb,SAAS,EACT,QAAQ,EACR,cAAc,EACd,UAAU,EACV,aAAa,EACb,cAAc,EACd,OAAO,CACR,CAAC;QAvBc,OAAE,GAAF,EAAE,CAAQ;QACV,YAAO,GAAP,OAAO,CAAQ;QACf,kBAAa,GAAb,aAAa,CAAQ;QACrB,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,mBAAc,GAAd,cAAc,CAAQ;QACtB,eAAU,GAAV,UAAU,CAAQ;QAClB,kBAAa,GAAb,aAAa,CAAQ;QACrB,mBAAc,GAAd,cAAc,CAAQ;QACtB,YAAO,GAAP,OAAO,CAAQ;QACxB,QAAG,GAAH,GAAG,CAAQ;IAcpB,CAAC;CACF;AA5BD,0CA4BC","sourcesContent":["import { VasAccountObjectModel } from './vas-account-object.model';\n\n/**\n * VasJobDataModel\n */\nexport abstract class VasJobDataModel extends VasAccountObjectModel {\n\n constructor(\n public override id: string,\n public override created: string,\n public override serverCreated: string,\n public override createdBy: string,\n public override modified: string,\n public override serverModified: string,\n public override modifiedBy: string,\n public override createdByName: string,\n public override modifiedByName: string,\n public override account: string,\n public job: string\n ) {\n super(\n id,\n created,\n serverCreated,\n createdBy,\n modified,\n serverModified,\n modifiedBy,\n createdByName,\n modifiedByName,\n account\n );\n }\n}\n"]}
@@ -23,6 +23,8 @@ export declare class VasJobModel extends VasRestrictedAccountObjectModel {
23
23
  modified: string;
24
24
  serverModified: string;
25
25
  modifiedBy: string;
26
+ createdByName: string;
27
+ modifiedByName: string;
26
28
  account: string;
27
29
  accessGroup: string;
28
30
  reference: string;
@@ -40,33 +42,7 @@ export declare class VasJobModel extends VasRestrictedAccountObjectModel {
40
42
  createdByDisplayName: string;
41
43
  modifiedByDisplayName: string;
42
44
  geoLocation: GeoLocation;
43
- /**
44
- * @param id
45
- * @param created
46
- * @param serverCreated
47
- * @param createdBy
48
- * @param modified
49
- * @param serverModified
50
- * @param modifiedBy
51
- * @param account
52
- * @param accessGroup
53
- * @param reference
54
- * @param jobDate
55
- * @param jobStatus
56
- * @param jobType
57
- * @param assigneeId
58
- * @param formId
59
- * @param timeZoneOffset
60
- * @param pendingFields
61
- * @param childModified
62
- * @param version
63
- * @param fields
64
- * @param files,
65
- * @param createdByDisplayName
66
- * @param modifiedByDisplayName
67
- * @param geoLocation
68
- */
69
- constructor(id: string, created: string, serverCreated: string, createdBy: string, modified: string, serverModified: string, modifiedBy: string, account: string, accessGroup: string, reference: string, jobDate: string, jobStatus: string, jobType: string, assigneeId: string, formId: string, timeZoneOffset: number, pendingFields: number, childModified: string, version: number, fields: Array<VasFieldDto>, files: Array<VasFileDto>, createdByDisplayName: string, modifiedByDisplayName: string, geoLocation: GeoLocation);
45
+ constructor(id: string, created: string, serverCreated: string, createdBy: string, modified: string, serverModified: string, modifiedBy: string, createdByName: string, modifiedByName: string, account: string, accessGroup: string, reference: string, jobDate: string, jobStatus: string, jobType: string, assigneeId: string, formId: string, timeZoneOffset: number, pendingFields: number, childModified: string, version: number, fields: Array<VasFieldDto>, files: Array<VasFileDto>, createdByDisplayName: string, modifiedByDisplayName: string, geoLocation: GeoLocation);
70
46
  /**
71
47
  * Returns this with the dynamic interface
72
48
  * @return {VasJobModelDynamicInterface}
@@ -86,22 +62,17 @@ export declare class VasJobModel extends VasRestrictedAccountObjectModel {
86
62
  * @return {VasJobModel}
87
63
  */
88
64
  static empty(): VasJobModel;
89
- /**
90
- * @param {VasJobDto} jobDto
91
- * @return {VasJobModel}
92
- */
93
- static fromDto(jobDto: Partial<VasJobDto>): VasJobModel;
65
+ static fromDto(dto: Partial<VasJobDto>): VasJobModel;
94
66
  /**
95
67
  * @param {VasFormModel} formModel
96
68
  * @return {Record<string, VasFieldDtoValue>}
97
69
  */
98
70
  getFields(formModel: VasFormModel): Record<string, VasFieldDtoValue>;
99
71
  /**
100
- * Will return an object whose keys are the names of all fields in the job but
101
- * with the "fields." part removed. This method is similar to `getFields`
102
- * except that this method will only return values that are set whereas
103
- * `getFields` will return a property regardless (because it uses the form to
104
- * drive the logic)
72
+ * Will return an object whose keys are the names of all fields in the job.
73
+ * This method is similar to `getFields` except that this method will only
74
+ * return values where a value was set, as opposed to `getFields` which
75
+ * return a property regardless (because it uses the form to drive the logic)
105
76
  * @return {Record<string, VasFieldDtoValue>}
106
77
  */
107
78
  getFields2(): Record<string, VasFieldDtoValue>;
@@ -1 +1 @@
1
- {"version":3,"file":"vas-job.model.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-job.model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vas-job.model.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-job.model.ts"],"names":[],"mappings":"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"}
@@ -15,34 +15,8 @@ const is_array_string_1 = require("../utils/is-array-string");
15
15
  * JobModel
16
16
  */
17
17
  class VasJobModel extends vas_restricted_account_object_model_1.VasRestrictedAccountObjectModel {
18
- /**
19
- * @param id
20
- * @param created
21
- * @param serverCreated
22
- * @param createdBy
23
- * @param modified
24
- * @param serverModified
25
- * @param modifiedBy
26
- * @param account
27
- * @param accessGroup
28
- * @param reference
29
- * @param jobDate
30
- * @param jobStatus
31
- * @param jobType
32
- * @param assigneeId
33
- * @param formId
34
- * @param timeZoneOffset
35
- * @param pendingFields
36
- * @param childModified
37
- * @param version
38
- * @param fields
39
- * @param files,
40
- * @param createdByDisplayName
41
- * @param modifiedByDisplayName
42
- * @param geoLocation
43
- */
44
- constructor(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, account, accessGroup, reference, jobDate, jobStatus, jobType, assigneeId, formId, timeZoneOffset, pendingFields, childModified, version, fields, files, createdByDisplayName, modifiedByDisplayName, geoLocation) {
45
- super(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, account, accessGroup);
18
+ constructor(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, createdByName, modifiedByName, account, accessGroup, reference, jobDate, jobStatus, jobType, assigneeId, formId, timeZoneOffset, pendingFields, childModified, version, fields, files, createdByDisplayName, modifiedByDisplayName, geoLocation) {
19
+ super(id, created, serverCreated, createdBy, modified, serverModified, modifiedBy, createdByName, modifiedByName, account, accessGroup);
46
20
  this.id = id;
47
21
  this.created = created;
48
22
  this.serverCreated = serverCreated;
@@ -50,6 +24,8 @@ class VasJobModel extends vas_restricted_account_object_model_1.VasRestrictedAcc
50
24
  this.modified = modified;
51
25
  this.serverModified = serverModified;
52
26
  this.modifiedBy = modifiedBy;
27
+ this.createdByName = createdByName;
28
+ this.modifiedByName = modifiedByName;
53
29
  this.account = account;
54
30
  this.accessGroup = accessGroup;
55
31
  this.reference = reference;
@@ -96,23 +72,15 @@ class VasJobModel extends vas_restricted_account_object_model_1.VasRestrictedAcc
96
72
  * @return {VasJobModel}
97
73
  */
98
74
  static empty() {
99
- return new VasJobModel(
100
- // eslint-disable-next-line new-cap
101
- angular2_uuid_1.UUID.UUID(), '', '', '', '', '', '', '', '', '', '', '', '', '', '', (0, moment_1.default)().utcOffset(), 0, '', 0, [], [], '', '', (0, geo_location_1.getEmptyGeoLocation)());
75
+ return new VasJobModel('', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', (0, moment_1.default)().utcOffset(), 0, '', 0, [], [], '', '', (0, geo_location_1.getEmptyGeoLocation)());
102
76
  }
103
- /**
104
- * @param {VasJobDto} jobDto
105
- * @return {VasJobModel}
106
- */
107
- static fromDto(jobDto) {
108
- const model = new VasJobModel(
109
- // eslint-disable-next-line new-cap
110
- jobDto.id || angular2_uuid_1.UUID.UUID(), jobDto.created || '', jobDto.serverCreated || '', jobDto.createdBy || '', jobDto.modified || '', jobDto.serverModified || '', jobDto.modifiedBy || '', jobDto.account || '', jobDto.accessGroup || '', jobDto.reference || '', jobDto.jobDate || '', jobDto.jobStatus || '', jobDto.jobType || '', jobDto.assigneeId || '', jobDto.formId || '', jobDto.timeZoneOffset || (0, moment_1.default)().utcOffset(), jobDto.pendingFields || 0, jobDto.childModified || '', jobDto.version || 0, jobDto.fields || [], jobDto.files || [], jobDto.createdByDisplayName || '', jobDto.modifiedByDisplayName || '', jobDto.geoLocation || (0, geo_location_1.getEmptyGeoLocation)());
77
+ static fromDto(dto) {
78
+ 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 || (0, moment_1.default)().utcOffset(), dto.pendingFields || 0, dto.childModified || '', dto.version || 0, dto.fields || [], dto.files || [], dto.createdByDisplayName || '', dto.modifiedByDisplayName || '', dto.geoLocation || (0, geo_location_1.getEmptyGeoLocation)());
111
79
  const emptyKeys = model.staticProperties;
112
80
  Object
113
- .keys(jobDto)
81
+ .keys(dto)
114
82
  .filter(key => emptyKeys.indexOf(key) === -1)
115
- .forEach((key) => model.$this[key] = jobDto[key]);
83
+ .forEach((key) => model.$this[key] = dto[key]);
116
84
  return model;
117
85
  }
118
86
  /**
@@ -131,11 +99,10 @@ class VasJobModel extends vas_restricted_account_object_model_1.VasRestrictedAcc
131
99
  return fields;
132
100
  }
133
101
  /**
134
- * Will return an object whose keys are the names of all fields in the job but
135
- * with the "fields." part removed. This method is similar to `getFields`
136
- * except that this method will only return values that are set whereas
137
- * `getFields` will return a property regardless (because it uses the form to
138
- * drive the logic)
102
+ * Will return an object whose keys are the names of all fields in the job.
103
+ * This method is similar to `getFields` except that this method will only
104
+ * return values where a value was set, as opposed to `getFields` which
105
+ * return a property regardless (because it uses the form to drive the logic)
139
106
  * @return {Record<string, VasFieldDtoValue>}
140
107
  */
141
108
  getFields2() {
@@ -145,8 +112,7 @@ class VasJobModel extends vas_restricted_account_object_model_1.VasRestrictedAcc
145
112
  Object
146
113
  .keys(this.$this[groupName])
147
114
  .forEach(controlName => {
148
- const controlNameShort = controlName.replace(/fields\./, '');
149
- fields[controlNameShort] = this.getValueByPath([groupName, controlName]);
115
+ fields[controlName] = this.getValueByPath([groupName, controlName]);
150
116
  });
151
117
  }, {});
152
118
  return fields;
@@ -367,6 +333,8 @@ class VasJobModel extends vas_restricted_account_object_model_1.VasRestrictedAcc
367
333
  modifiedBy: this.modifiedBy,
368
334
  serverCreated: this.serverCreated,
369
335
  serverModified: this.serverModified,
336
+ createdByName: this.createdByName,
337
+ modifiedByName: this.modifiedByName,
370
338
  account: this.account,
371
339
  accessGroup: this.accessGroup,
372
340
  reference: this.reference,
@@ -1 +1 @@
1
- {"version":3,"file":"vas-job.model.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-job.model.ts"],"names":[],"mappings":";;;;AAAA,iDAAuD;AACvD,iDAAqC;AACrC,4DAA4B;AAC5B,kEAA4D;AAG5D,uDAAkD;AAGlD,+FAAwF;AACxF,wDAAyE;AACzE,oGAAqH;AACrH,8DAAyD;AAoBzD;;GAEG;AACH,MAAa,WAAY,SAAQ,qEAA+B;IAC9D;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,YACkB,EAAU,EACV,OAAe,EACf,aAAqB,EACrB,SAAiB,EACjB,QAAgB,EAChB,cAAsB,EACtB,UAAkB,EAClB,OAAe,EACf,WAAmB,EAC5B,SAAiB,EACjB,OAAe,EACf,SAAiB,EACjB,OAAe,EACf,UAAkB,EAClB,MAAc,EACd,cAAsB,EACtB,aAAqB,EACrB,aAAqB,EACrB,OAAe,EACf,MAA0B,EAC1B,KAAwB,EACxB,oBAA4B,EAC5B,qBAA6B,EAC7B,WAAwB;QAE/B,KAAK,CACH,EAAE,EACF,OAAO,EACP,aAAa,EACb,SAAS,EACT,QAAQ,EACR,cAAc,EACd,UAAU,EACV,OAAO,EACP,WAAW,CACZ,CAAC;QAnCc,OAAE,GAAF,EAAE,CAAQ;QACV,YAAO,GAAP,OAAO,CAAQ;QACf,kBAAa,GAAb,aAAa,CAAQ;QACrB,cAAS,GAAT,SAAS,CAAQ;QACjB,aAAQ,GAAR,QAAQ,CAAQ;QAChB,mBAAc,GAAd,cAAc,CAAQ;QACtB,eAAU,GAAV,UAAU,CAAQ;QAClB,YAAO,GAAP,OAAO,CAAQ;QACf,gBAAW,GAAX,WAAW,CAAQ;QAC5B,cAAS,GAAT,SAAS,CAAQ;QACjB,YAAO,GAAP,OAAO,CAAQ;QACf,cAAS,GAAT,SAAS,CAAQ;QACjB,YAAO,GAAP,OAAO,CAAQ;QACf,eAAU,GAAV,UAAU,CAAQ;QAClB,WAAM,GAAN,MAAM,CAAQ;QACd,mBAAc,GAAd,cAAc,CAAQ;QACtB,kBAAa,GAAb,aAAa,CAAQ;QACrB,kBAAa,GAAb,aAAa,CAAQ;QACrB,YAAO,GAAP,OAAO,CAAQ;QACf,WAAM,GAAN,MAAM,CAAoB;QAC1B,UAAK,GAAL,KAAK,CAAmB;QACxB,yBAAoB,GAApB,oBAAoB,CAAQ;QAC5B,0BAAqB,GAArB,qBAAqB,CAAQ;QAC7B,gBAAW,GAAX,WAAW,CAAa;IAajC,CAAC;IAED;;;OAGG;IACH,IAAI,KAAK;QACP,OAAO,IAAW,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,IAAI,iBAAiB;QACnB,MAAM,WAAW,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC1C,OAAO,MAAM;aACV,mBAAmB,CAAC,IAAI,CAAC;aACzB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAED;;;OAGG;IACH,IAAI,gBAAgB;QAClB,OAAO,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK;QACjB,OAAO,IAAI,WAAW;QACpB,mCAAmC;QACnC,oBAAI,CAAC,IAAI,EAAE,EACX,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,IAAA,gBAAM,GAAE,CAAC,SAAS,EAAE,EACpB,CAAC,EACD,EAAE,EACF,CAAC,EACD,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,EACF,IAAA,kCAAmB,GAAE,CACtB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACI,MAAM,CAAC,OAAO,CAAC,MAA0B;QAC9C,MAAM,KAAK,GAAG,IAAI,WAAW;QAC3B,mCAAmC;QACnC,MAAM,CAAC,EAAE,IAAI,oBAAI,CAAC,IAAI,EAAE,EACxB,MAAM,CAAC,OAAO,IAAI,EAAE,EACpB,MAAM,CAAC,aAAa,IAAI,EAAE,EAC1B,MAAM,CAAC,SAAS,IAAI,EAAE,EACtB,MAAM,CAAC,QAAQ,IAAI,EAAE,EACrB,MAAM,CAAC,cAAc,IAAI,EAAE,EAC3B,MAAM,CAAC,UAAU,IAAI,EAAE,EACvB,MAAM,CAAC,OAAO,IAAI,EAAE,EACpB,MAAM,CAAC,WAAW,IAAI,EAAE,EACxB,MAAM,CAAC,SAAS,IAAI,EAAE,EACtB,MAAM,CAAC,OAAO,IAAI,EAAE,EACpB,MAAM,CAAC,SAAS,IAAI,EAAE,EACtB,MAAM,CAAC,OAAO,IAAI,EAAE,EACpB,MAAM,CAAC,UAAU,IAAI,EAAE,EACvB,MAAM,CAAC,MAAM,IAAI,EAAE,EACnB,MAAM,CAAC,cAAc,IAAI,IAAA,gBAAM,GAAE,CAAC,SAAS,EAAE,EAC7C,MAAM,CAAC,aAAa,IAAI,CAAC,EACzB,MAAM,CAAC,aAAa,IAAI,EAAE,EAC1B,MAAM,CAAC,OAAO,IAAI,CAAC,EACnB,MAAM,CAAC,MAAM,IAAI,EAAE,EACnB,MAAM,CAAC,KAAK,IAAI,EAAE,EAClB,MAAM,CAAC,oBAAoB,IAAI,EAAE,EACjC,MAAM,CAAC,qBAAqB,IAAI,EAAE,EAClC,MAAM,CAAC,WAAW,IAAI,IAAA,kCAAmB,GAAE,CAC5C,CAAC;QACF,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,CAAC;QACzC,MAAM;aACH,IAAI,CAAC,MAAM,CAAC;aACZ,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;aAC5C,OAAO,CAAC,CAAC,GAAW,EAAE,EAAE,CACvB,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAI,MAAsC,CAAC,GAAG,CAAC,CAChE,CAAC;QACJ,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,SAAuB;QAC/B,MAAM,MAAM,GAAsC,EAAE,CAAC;QACrD,SAAS,CAAC,MAAM;aACb,OAAO,CAAC,KAAK,CAAC,EAAE;YACf,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAC/B,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,kBAAkB,CAAC;oBAClC,IAAI,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACL,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;;OAOG;IACH,UAAU;QACR,IAAI,MAAM,GAAsC,EAAE,CAAC;QACnD,IAAI,CAAC,iBAAiB;aACnB,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YACrB,MAAM;iBACH,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;iBAC3B,OAAO,CAAC,WAAW,CAAC,EAAE;gBACrB,MAAM,gBAAgB,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;gBAC7D,MAAM,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,cAAc,CAC5C,CAAC,SAAS,EAAE,WAAW,CAAC,CACzB,CAAA;YACH,CAAC,CAAC,CAAA;QACN,CAAC,EAAE,EAAE,CAAC,CAAA;QACR,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;;OAMG;IACH,oBAAoB,CAClB,SAAuB;QAGvB,MAAM,cAAc,GAAyB,SAAS;aACnD,qBAAqB,EAAE;aACvB,GAAG,CAAC,IAAI,CAAC,EAAE;YACV,MAAM,KAAK,GACT,IAAI,CAAC,cAAc,CAAC,IAAI,CAAQ,CAAC;YACnC,IAAI,KAAK,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,EAAE;gBACvB,OAAO,IAAI,CAAC;aACb;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;aACD,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;aAC3C,MAAM,CAAC,+BAAa,CAAC,CAAC;QAEzB,IAAI,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC;QAElC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAE3B,wDAAwD;QACxD,IAAI,OAAO,GAAG,cAAc;aACzB,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAQ,CAAC;aAC7C,GAAG,CAAC,CAAC,KAA8C,EAAE,EAAE;YACtD,IAAI,IAAA,wBAAS,EAAC,KAAK,CAAC,EAAE;gBACpB,OAAO,KAAK,CAAC,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,CAAC;aAChD;iBAAM,IAAI,IAAA,uDAAsB,EAAC,KAAK,CAAC,EAAE;gBACxC,6CAA6C;gBAC7C,OAAO,KAAK,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;aAC/B;YACD,OAAO,KAAK,CAAC;QACf,CAAC,CAAC;aACD,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC;aAClC,MAAM,CAAC;QAEV,wCAAwC;QACxC,OAAO,IAAI,IAAI,CAAC,KAAK;aAClB,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC;aAC7C,MAAM,CAAC;QAEV,OAAO;YACL,OAAO;YACP,KAAK;SACN,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+EG;IACH,aAAa,CACX,SAAuB,EACvB,oBAAyC,IAAI,GAAG,EAAkB,EAClE,YAA4B;QAE5B,MAAM,MAAM,GAAuB,EAAE,CAAC;QACtC,SAAS,CAAC,MAAM;aACb,OAAO,CAAC,KAAK,CAAC,EAAE;YACf,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;gBAE/B,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;oBACvC,OAAO;iBACR;gBAED,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACxD,OAAO;iBACR;gBAED,MAAM,CAAC,IAAI,CAAC,+BAAa,CAAC,OAAO,CAAC;oBAChC,kEAAkE;oBAClE,6CAA6C;oBAC7C,EAAE,EAAE,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,oBAAI,CAAC,IAAI,EAAE;oBACpD,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,GAAG,EAAE,IAAI,CAAC,EAAE;oBACZ,SAAS,EAAE,IAAI,CAAC,SAAS;oBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,OAAO,EAAE,OAAO,CAAC,EAAE;oBACnB,KAAK,EAAE,IAAI,CAAC,cAAc,CACxB,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAC3B;iBACF,CAAC,CAAC,CAAC;YACN,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACL,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;;OAGG;IACH,cAAc,CACZ,OAAiB,EAAE;QAEnB,OAAO,IAAA,kCAAc,EAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,cAAc,CAAC,KAAuB,EAAE,OAAiB,EAAE;QACzD,QAAQ,IAAI,CAAC,MAAM,EAAE;YACnB,KAAK,CAAC,CAAC,CAAC;gBACN,OAAO;aACR;YACD,KAAK,CAAC,CAAC,CAAC;gBACL,IAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;gBAC/B,OAAO;aACR;YACD,KAAK,CAAC,CAAC,CAAC;gBACN,mCAAmC;gBAClC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;gBAC3E,OAAO;aACR;YACD,KAAK,CAAC,CAAC,CAAC;gBACN,mCAAmC;gBACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAsC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;gBAC1H,OAAO;aACR;YACD,OAAO,CAAC,CAAC;gBACP,MAAM,KAAK,CAAC,4BAA4B,CAAC,CAAC;aAC3C;SACF;IACH,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,UAAU,GAAG,KAAK;QAE7B,IAAI,UAAU,EAAE;YACd,OAAO;gBACL,EAAE,EAAE,IAAI,CAAC,EAAE;gBACX,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ;gBACvB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,cAAc,EAAE,IAAI,CAAC,cAAc;gBACnC,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;gBAC/C,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;gBACjD,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CAAC;SACH;QAED,MAAM,GAAG,GAAG,EAAiC,CAAC;QAC9C,CAAC,GAAG,IAAI,CAAC,gBAAgB,EAAE,GAAG,IAAI,CAAC,iBAAiB,CAAC;aAClD,OAAO,CAAC,IAAI,CAAC,EAAE,CACd,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QAEpC,OAAO,GAAU,CAAC;IACpB,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,WAAW,CACT,KAAa,EACb,UAA8B;QAC5B,cAAc,EAAE,CAAC;KAClB;QAGD,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YACvC,OAAO,EAAE,CAAC;SACX;QACD,OAAO,KAAK,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,KAAa,EAAE,KAAa,EAAE,EAAE;YAClE,MAAM,MAAM,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAEpD,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACtC,GAAG,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACzB,MAAM,GAAG,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAA;YAE9B,IAAI,UAAU,EAAE,SAAS,GAAW,EAAE,CAAC;YACvC,IAAI,MAAM,EAAE;gBACV,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACvC,IAAI,UAAU,KAAK,CAAC,CAAC,EAAE;oBACrB,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;oBAC7C,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC;iBAC9C;qBAAM;oBACL,UAAU,GAAG,MAAM,CAAC;oBACpB,SAAS,GAAG,EAAE,CAAC;iBAChB;gBACD,UAAU,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACvC,SAAS,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;aACtC;YACD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;YACrC,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,IAAI,SAAS,KAAK,KAAK,EAAE;gBACvB,MAAM,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;aACvD;iBAAM,IAAI,SAAS,KAAK,QAAQ,EAAE;gBACjC,MAAM,GAAG,CAAC,IAAA,kCAAc,EAAC,IAAI,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;aACrE;iBAAM,IAAI,SAAS,CAAC,MAAM,EAAE;gBAC3B,IAAI,OAAO,CAAC,OAAO,EAAE;oBACnB,IAAI,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,SAAS,EAAE;wBAC5C,OAAO,CAAC,KAAK,CACX,aAAa,SAAS,mCAAmC,CAC1D,CAAC;wBACF,MAAM,GAAG,EAAE,CAAC;qBACb;yBAAM;wBACL,MAAM,GAAG,CAAC,IAAA,kCAAc,EAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,IAAI,EAAE,CAAC;6BAC9D,QAAQ,EAAE,CAAC;qBACf;iBACF;qBAAM;oBACL,OAAO,CAAC,KAAK,CACX,aAAa,SAAS,yCAAyC,CAChE,CAAC;oBACF,OAAO,EAAE,CAAC;iBACX;aACF;iBAAM;gBACL,OAAO,EAAE,CAAC;aACX;YAGD,IAAI,UAAU,IAAI,MAAM,EAAE;gBACxB,QAAQ,UAAU,EAAE;oBAClB,KAAK,MAAM,CAAC,CAAC;wBACX,OAAO,IAAA,gBAAM,EAAC,MAAM,CAAC;6BAClB,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC;6BACjC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;qBAC5B;oBACD,OAAO,CAAC,CAAC;wBACP,OAAO,CAAC,IAAI,CAAC,mBAAmB,EAAE,UAAU,CAAC,CAAC;qBAC/C;iBACF;aACF;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAAA,CAAC;IAEF;;OAEG;IACM,QAAQ;QACf,uCACK,KAAK,CAAC,QAAQ,EAAE,KACnB,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,GAAG,EAChC,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,GAAG,EAC5B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,GAAG,EAC5B,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,GAAG,EACpC,SAAS,EAAE,IAAI,CAAC,SAAS,IAAI,GAAG,EAChC,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,GAAG,EAClC,cAAc,EAAE,IAAI,CAAC,cAAc,IAAI,CAAC,EACxC,aAAa,EAAE,IAAI,CAAC,aAAa,IAAI,CAAC,EACtC,QAAQ,EAAE,IAAI,CAAC,MAAM,IAAI,GAAG,IAC5B;IACJ,CAAC;CACF;AAnlBD,kCAmlBC","sourcesContent":["import { isFileDto, VasFileDto } from './vas-file.dto';\nimport { UUID } from 'angular2-uuid';\nimport moment from 'moment';\nimport { getValueByPath } from '../utils/get-value-by-path';\nimport { VasBaseDto } from './vas-base.dto';\nimport { VasFieldDto, VasFieldDtoValue } from './vas-field.dto';\nimport { VasFieldModel } from './vas-field.model';\nimport { VasFormModel } from './vas-form.model';\nimport { VasJobDto } from './vas-job.dto';\nimport { VasRestrictedAccountObjectModel } from './vas-restricted-account-object.model';\nimport { GeoLocation, getEmptyGeoLocation } from '../model/geo-location';\nimport { isCameraControlValueV1, VasCameraControlValueModel } from '../control-value/vas-camera-control-value.model';\nimport { isArrayString } from '../utils/is-array-string';\n\nexport declare interface VasJobModelDynamicInterface {\n [s: string]: string | number | Record<string, VasFieldDtoValue>;\n}\n\nexport interface ParseSyntaxOptions {\n // This value will be used to adjust any datetime values that are referenced\n // in the syntax string. See\n // https://momentjscom.readthedocs.io/en/latest/moment/03-manipulating/09-utc-offset/\n // for more information about how `moment` will handle the value.\n timeZoneOffset: number,\n // this dictionary can be passed in to contain other objects to be referenced\n // in the syntax. For example if we have {job.foo} this will reference the\n // job's `foo` property, however if we have \"reportLayout.title\" this will\n // expect to find a property of `objects` called `reportLayout` which will\n // have a property called `title`\n objects?: Record<string, Partial<VasBaseDto> | Record<string, VasFieldDtoValue>>;\n}\n\n/**\n * JobModel\n */\nexport class VasJobModel extends VasRestrictedAccountObjectModel {\n /**\n * @param id\n * @param created\n * @param serverCreated\n * @param createdBy\n * @param modified\n * @param serverModified\n * @param modifiedBy\n * @param account\n * @param accessGroup\n * @param reference\n * @param jobDate\n * @param jobStatus\n * @param jobType\n * @param assigneeId\n * @param formId\n * @param timeZoneOffset\n * @param pendingFields\n * @param childModified\n * @param version\n * @param fields\n * @param files,\n * @param createdByDisplayName\n * @param modifiedByDisplayName\n * @param geoLocation\n */\n constructor(\n public override id: string,\n public override created: string,\n public override serverCreated: string,\n public override createdBy: string,\n public override modified: string,\n public override serverModified: string,\n public override modifiedBy: string,\n public override account: string,\n public override accessGroup: string,\n public reference: string,\n public jobDate: string,\n public jobStatus: string,\n public jobType: string,\n public assigneeId: string,\n public formId: string,\n public timeZoneOffset: number,\n public pendingFields: number,\n public childModified: string,\n public version: number,\n public fields: Array<VasFieldDto>,\n public files: Array<VasFileDto>,\n public createdByDisplayName: string,\n public modifiedByDisplayName: string,\n public geoLocation: GeoLocation\n ) {\n super(\n id,\n created,\n serverCreated,\n createdBy,\n modified,\n serverModified,\n modifiedBy,\n account,\n accessGroup\n );\n }\n\n /**\n * Returns this with the dynamic interface\n * @return {VasJobModelDynamicInterface}\n */\n get $this(): VasJobModelDynamicInterface {\n return this as any;\n }\n\n /**\n * Returns a list of Job dynamic properties i.e. those that are added by the\n * dynamic forms\n */\n get dynamicProperties(): Array<string> {\n const nativeProps = this.staticProperties;\n return Object\n .getOwnPropertyNames(this)\n .filter(prop => !nativeProps.includes(prop));\n }\n\n /**\n * Returns a list of Job static properties i.e. those that are declared by\n * the type\n */\n get staticProperties(): Array<string> {\n return Object.getOwnPropertyNames(VasJobModel.empty());\n }\n\n /**\n * @return {VasJobModel}\n */\n public static empty(): VasJobModel {\n return new VasJobModel(\n // eslint-disable-next-line new-cap\n UUID.UUID(),\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n moment().utcOffset(),\n 0,\n '',\n 0,\n [],\n [],\n '',\n '',\n getEmptyGeoLocation()\n );\n }\n\n /**\n * @param {VasJobDto} jobDto\n * @return {VasJobModel}\n */\n public static fromDto(jobDto: Partial<VasJobDto>): VasJobModel {\n const model = new VasJobModel(\n // eslint-disable-next-line new-cap\n jobDto.id || UUID.UUID(),\n jobDto.created || '',\n jobDto.serverCreated || '',\n jobDto.createdBy || '',\n jobDto.modified || '',\n jobDto.serverModified || '',\n jobDto.modifiedBy || '',\n jobDto.account || '',\n jobDto.accessGroup || '',\n jobDto.reference || '',\n jobDto.jobDate || '',\n jobDto.jobStatus || '',\n jobDto.jobType || '',\n jobDto.assigneeId || '',\n jobDto.formId || '',\n jobDto.timeZoneOffset || moment().utcOffset(),\n jobDto.pendingFields || 0,\n jobDto.childModified || '',\n jobDto.version || 0,\n jobDto.fields || [],\n jobDto.files || [],\n jobDto.createdByDisplayName || '',\n jobDto.modifiedByDisplayName || '',\n jobDto.geoLocation || getEmptyGeoLocation()\n );\n const emptyKeys = model.staticProperties;\n Object\n .keys(jobDto)\n .filter(key => emptyKeys.indexOf(key) === -1)\n .forEach((key: string) =>\n model.$this[key] = (jobDto as VasJobModelDynamicInterface)[key]\n );\n return model;\n }\n\n /**\n * @param {VasFormModel} formModel\n * @return {Record<string, VasFieldDtoValue>}\n */\n getFields(formModel: VasFormModel): Record<string, VasFieldDtoValue> {\n const fields: {[key: string]: VasFieldDtoValue} = {};\n formModel.groups\n .forEach(group => {\n group.controls.forEach(control => {\n (fields)[control.reportTemplateName] =\n this.getValueByPath([group.name, control.name]);\n });\n });\n return fields;\n }\n\n /**\n * Will return an object whose keys are the names of all fields in the job but\n * with the \"fields.\" part removed. This method is similar to `getFields`\n * except that this method will only return values that are set whereas\n * `getFields` will return a property regardless (because it uses the form to\n * drive the logic)\n * @return {Record<string, VasFieldDtoValue>}\n */\n getFields2(): Record<string, VasFieldDtoValue> {\n let fields: {[key: string]: VasFieldDtoValue} = {};\n this.dynamicProperties\n .forEach((groupName) => {\n Object\n .keys(this.$this[groupName])\n .forEach(controlName => {\n const controlNameShort = controlName.replace(/fields\\./, '');\n fields[controlNameShort] = this.getValueByPath(\n [groupName, controlName]\n )\n })\n }, {})\n return fields;\n }\n\n /**\n * Returns an object describing how many attachments were added to this job\n * (camera controls and files), and how many have not been uploaded yet.\n *\n * @param formModel instance of {@link VasFormModel} that was used when the\n * job was created\n */\n getFilesUploadStatus(\n formModel: VasFormModel\n ): {pending: number; total: number} {\n\n const pathsWithValue: Array<Array<string>> = formModel\n .getCameraControlPaths()\n .map(path => {\n const value: VasFileDto | VasCameraControlValueModel =\n this.getValueByPath(path) as any;\n if (value && !!value.id) {\n return path;\n }\n return null;\n })\n .filter(path => path !== null ? path : null)\n .filter(isArrayString);\n\n let total = pathsWithValue.length;\n\n total += this.files.length;\n\n // calculate the number of camera images still to upload\n let pending = pathsWithValue\n .map(path => this.getValueByPath(path) as any)\n .map((value: VasFileDto | VasCameraControlValueModel) => {\n if (isFileDto(value)) {\n return value.id && value.status !== 'COMPLETE';\n } else if (isCameraControlValueV1(value)) {\n // if url is not set, it hasn't been uploaded\n return value.id && !value.url;\n }\n return false;\n })\n .filter(hasUploaded => hasUploaded)\n .length;\n\n // add total from files that are pending\n pending += this.files\n .filter(value => value.status !== 'COMPLETED')\n .length;\n\n return {\n pending,\n total\n }\n }\n\n /**\n * This method will hydrate the `fields` property of the model. The reason for\n * this is that we have different ways to store the field data. One way, is\n * we store them as dynamic properties of the job. For example job.foo.bar,\n * where `foo` is the name of a Group, and `bar` is the name of a control.\n * Thus, when we create a job using a form in the client, the job object will\n * have its static properties (id, account, reference etc), and also a number\n * of dynamic properties determined by the Groups and Controls. This kind of\n * object is nice to work with in certain circumstances. However, the api\n * works differently. In the API a Job is a record, and references a number of\n * Field records. Each Field stores the value. Comparing these two models we\n * have:\n * A) job with dynamic properties, e.g.\n * {\n * id: <guid>,\n * reference: \"something\"\n * <other static job properties>...\n * foo: {\n * bar: \"value\"\n * }\n * }\n *\n * B) job with fields\n * {\n * id: <guid>,\n * reference: \"something\"\n * <other static job properties>...\n * <will not have dynamic properties>...\n * fields: [\n * {\n * id: <guid>,\n * <other field properties>,\n * value: \"value\"\n * }\n * ]\n * }\n *\n * So, what this method does is given a JobModel in the form of A, read all\n * of those dynamic properties and set them into `fields`. Doing this requires\n * knowledge of the Form that was used to create the job. Moreover, since the\n * dynamic properties do not contain the ids of the fields, we also allow to\n * pass in a `controlFieldIdMap`. This map stores the mapping between Control\n * and the Field that was created in the Job to store the value for that\n * Control. This is useful, if for example you want to compare a Job in form A\n * with a Job in form B, for example if you want to update the Job on the API\n * with a Job that was saved by a client in form A.\n *\n * E.g.\n * Client -> API: client requests form\n * User -> Client: user fills in the form and submits\n * Client -> Firestore: client saves the Job in form A i.e. dynamic props\n * Firestore -> Function: A function is triggered to sync the job to the API\n * Function -> API: Function checks if job already exists, it receives 404\n * Function -> Function: The function calls `hydrateFields(...)`\n * Function -> API: The function POST the Job to /jobs\n * Function -> API: The function POST each field to /fields\n *\n * Similarly, if the user updates the job\n * Client -> API: client requests form\n * User -> Client: user fills in the form and submits an update\n * Client -> Firestore: client saves the Job in form A i.e. dynamic props\n * Firestore -> Function: A function is triggered to sync the job to the API\n * Function -> API: Function checks if job already exists, it receives 200\n * Function -> Function: The function calls `hydrateFields(...)` passing in\n * the map is made by iterating over the fields it\n * received from the API and storing the mappings\n * between controlId and fieldId for each field\n * Function -> API: The function PATCH the Job to /jobs\n * Function -> API: The function POST/PATCH each field to /fields\n * treated as new\n *\n * @param {VasFormModel} formModel the VasFormModel that was used to create\n * the job\n * @param {Map<string, string>} controlFieldIdMap a mapping of control to\n * field ids. This is used to determine whether a new id for the field should\n * be generated, or to reuse an existing one from the map.\n * @param {Array<string>} controlNames if a value is provided, it will be used\n * to filter the fields that are returned.\n * @return {Array<VasFieldDto>}\n */\n hydrateFields(\n formModel: VasFormModel,\n controlFieldIdMap: Map<string, string> = new Map<string, string>(),\n controlNames?: Array<string>\n ): void {\n const fields: Array<VasFieldDto> = [];\n formModel.groups\n .forEach(group => {\n group.controls.forEach(control => {\n\n if (!control.name.startsWith('fields.')) {\n return;\n }\n\n if (controlNames && !controlNames.includes(control.name)) {\n return;\n }\n\n fields.push(VasFieldModel.fromDto({\n // if the controlId exists in the map, use the associated fieldId,\n // otherwise generate a new id for the field.\n id: controlFieldIdMap.get(control.id) || UUID.UUID(),\n account: this.account,\n job: this.id,\n createdBy: this.createdBy,\n created: this.created,\n modifiedBy: this.modifiedBy,\n modified: this.modified,\n control: control.id,\n value: this.getValueByPath(\n [group.name, control.name]\n )\n }));\n });\n });\n this.fields = fields;\n }\n\n /**\n * @param {string[]} path path segments\n * @return {void}\n */\n getValueByPath<T extends VasFieldDtoValue>(\n path: string[] = []\n ): T | undefined {\n return getValueByPath(path, this.$this);\n }\n\n /**\n * A very non sophisticated way to set values in the job via paths\n *\n * For example:\n *\n * setValueByPath('value', ['foo', 'bar']);\n *\n * will make results in job\n * {\n * foo: {\n * bar: 'value'\n * }\n * }\n *\n * @param {any} value the value to set\n * @param {string[]} path path segments\n */\n setValueByPath(value: VasFieldDtoValue, path: string[] = []): void {\n switch (path.length) {\n case 0: {\n return;\n }\n case 1: {\n (this as any)[path[0]] = value;\n return;\n }\n case 2: {\n // eslint-disable-next-line max-len\n (this.$this[path[0]] as Record<string, VasFieldDtoValue>)[path[1]] = value;\n return;\n }\n case 3: {\n // eslint-disable-next-line max-len\n ((this.$this[path[0]] as Record<string, VasFieldDtoValue>)[path[1]] as Record<string, VasFieldDtoValue>)[path[2]] = value;\n return;\n }\n default: {\n throw Error('path has too many segments');\n }\n }\n }\n\n /**\n * @param {boolean} staticOnly if true, will only output values for the static\n * properties in the dto\n * @return {VasJobDto}\n */\n public toDto(staticOnly = false): VasJobDto {\n\n if (staticOnly) {\n return {\n id: this.id,\n created: this.created,\n createdBy: this.createdBy,\n modified: this.modified,\n modifiedBy: this.modifiedBy,\n serverCreated: this.serverCreated,\n serverModified: this.serverModified,\n account: this.account,\n accessGroup: this.accessGroup,\n reference: this.reference,\n jobDate: this.jobDate,\n jobStatus: this.jobStatus,\n jobType: this.jobType,\n assigneeId: this.assigneeId,\n formId: this.formId,\n timeZoneOffset: this.timeZoneOffset,\n pendingFields: this.pendingFields,\n childModified: this.childModified,\n version: this.version,\n fields: this.fields,\n files: this.files,\n createdByDisplayName: this.createdByDisplayName,\n modifiedByDisplayName: this.modifiedByDisplayName,\n geoLocation: this.geoLocation\n };\n }\n\n const dto = {} as VasJobModelDynamicInterface;\n [...this.staticProperties, ...this.dynamicProperties]\n .forEach(prop =>\n (dto)[prop] = this.$this[prop]);\n\n return dto as any;\n }\n\n /**\n * This method will parse a syntax that allows us to build strings from the\n * values of from the job model. For example if the job model was:\n *\n * {\n * foo: 'bar'\n * }\n *\n * and we pass \"i am foo {foo}\", the result would be:\n *\n * \"i am foo bar\"\n *\n * we can also use moment to parse dates, for example if the job model was:\n *\n * {\n * created: \"2022-01-01T00:00:00+0000\"\n * }\n *\n * and we pass \"{created|date:YY-MM-DD}\", the result would be:\n *\n * \"2022-01-01\"\n *\n * @param {string} value a string with the syntax\n * @param {ParseSyntaxOptions} options\n * @return {string} the results of parsing the syntax on this job\n */\n parseSyntax(\n value: string,\n options: ParseSyntaxOptions = {\n timeZoneOffset: 0\n }\n ): string {\n\n if (!value || typeof value !== 'string') {\n return '';\n }\n return value.replace(/({[^}]*})/g, (match: string, token: string) => {\n const syntax = token.substring(1, token.length - 1);\n\n let [key, filter] = syntax.split('|');\n key = (key || '').trim();\n filter = (filter || '').trim()\n\n let filterName, filterArg: string = '';\n if (filter) {\n const splitIndex = filter.indexOf(':');\n if (splitIndex !== -1) {\n filterName = filter.substring(0, splitIndex);\n filterArg = filter.substring(splitIndex + 1);\n } else {\n filterName = filter;\n filterArg = '';\n }\n filterName = (filterName || '').trim();\n filterArg = (filterArg || '').trim();\n }\n const path = key.split('.');\n const objectKey = path.shift() || '';\n let result = '';\n if (objectKey === 'job') {\n result = (this.getValueByPath(path) || '').toString();\n } else if (objectKey === 'fields') {\n result = (getValueByPath(path, this.getFields2()) || '').toString();\n } else if (objectKey.length) {\n if (options.objects) {\n if (options.objects[objectKey] === undefined) {\n console.debug(\n `objectKey ${objectKey} is not present in options.object`\n );\n result = '';\n } else {\n result = (getValueByPath(path, options.objects[objectKey]) || '')\n .toString();\n }\n } else {\n console.debug(\n `objectKey ${objectKey} was used but options.object is not set`\n );\n return '';\n }\n } else {\n return '';\n }\n\n\n if (filterName && result) {\n switch (filterName) {\n case 'date': {\n return moment(result)\n .utcOffset(options.timeZoneOffset)\n .format(filterArg || '');\n }\n default: {\n console.warn('unknown filter %s', filterName);\n }\n }\n }\n\n return result;\n }).trim();\n };\n\n /**\n * @return {object}\n */\n override toApiDto(): Record<string, string | number | boolean> {\n return {\n ...super.toApiDto(),\n reference: this.reference || '~',\n jobDate: this.jobDate || '~',\n jobType: this.jobType || '~',\n accessGroup: this.accessGroup || '~',\n jobStatus: this.jobStatus || '~',\n assigneeId: this.assigneeId || '~',\n timeZoneOffset: this.timeZoneOffset || 0,\n pendingFields: this.pendingFields || 0,\n lastForm: this.formId || '~'\n };\n }\n}\n"]}
1
+ {"version":3,"file":"vas-job.model.js","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-job.model.ts"],"names":[],"mappings":"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","sourcesContent":["import { isFileDto, VasFileDto } from './vas-file.dto';\nimport { UUID } from 'angular2-uuid';\nimport moment from 'moment';\nimport { getValueByPath } from '../utils/get-value-by-path';\nimport { VasBaseDto } from './vas-base.dto';\nimport { VasFieldDto, VasFieldDtoValue } from './vas-field.dto';\nimport { VasFieldModel } from './vas-field.model';\nimport { VasFormModel } from './vas-form.model';\nimport { VasJobDto } from './vas-job.dto';\nimport { VasRestrictedAccountObjectModel } from './vas-restricted-account-object.model';\nimport { GeoLocation, getEmptyGeoLocation } from '../model/geo-location';\nimport { isCameraControlValueV1, VasCameraControlValueModel } from '../control-value/vas-camera-control-value.model';\nimport { isArrayString } from '../utils/is-array-string';\n\nexport declare interface VasJobModelDynamicInterface {\n [s: string]: string | number | Record<string, VasFieldDtoValue>;\n}\n\nexport interface ParseSyntaxOptions {\n // This value will be used to adjust any datetime values that are referenced\n // in the syntax string. See\n // https://momentjscom.readthedocs.io/en/latest/moment/03-manipulating/09-utc-offset/\n // for more information about how `moment` will handle the value.\n timeZoneOffset: number,\n // this dictionary can be passed in to contain other objects to be referenced\n // in the syntax. For example if we have {job.foo} this will reference the\n // job's `foo` property, however if we have \"reportLayout.title\" this will\n // expect to find a property of `objects` called `reportLayout` which will\n // have a property called `title`\n objects?: Record<string, Partial<VasBaseDto> | Record<string, VasFieldDtoValue>>;\n}\n\n/**\n * JobModel\n */\nexport class VasJobModel extends VasRestrictedAccountObjectModel {\n\n constructor(\n public override id: string,\n public override created: string,\n public override serverCreated: string,\n public override createdBy: string,\n public override modified: string,\n public override serverModified: string,\n public override modifiedBy: string,\n public override createdByName: string,\n public override modifiedByName: string,\n public override account: string,\n public override accessGroup: string,\n public reference: string,\n public jobDate: string,\n public jobStatus: string,\n public jobType: string,\n public assigneeId: string,\n public formId: string,\n public timeZoneOffset: number,\n public pendingFields: number,\n public childModified: string,\n public version: number,\n public fields: Array<VasFieldDto>,\n public files: Array<VasFileDto>,\n public createdByDisplayName: string,\n public modifiedByDisplayName: string,\n public geoLocation: GeoLocation\n ) {\n super(\n id,\n created,\n serverCreated,\n createdBy,\n modified,\n serverModified,\n modifiedBy,\n createdByName,\n modifiedByName,\n account,\n accessGroup\n );\n }\n\n /**\n * Returns this with the dynamic interface\n * @return {VasJobModelDynamicInterface}\n */\n get $this(): VasJobModelDynamicInterface {\n return this as any;\n }\n\n /**\n * Returns a list of Job dynamic properties i.e. those that are added by the\n * dynamic forms\n */\n get dynamicProperties(): Array<string> {\n const nativeProps = this.staticProperties;\n return Object\n .getOwnPropertyNames(this)\n .filter(prop => !nativeProps.includes(prop));\n }\n\n /**\n * Returns a list of Job static properties i.e. those that are declared by\n * the type\n */\n get staticProperties(): Array<string> {\n return Object.getOwnPropertyNames(VasJobModel.empty());\n }\n\n /**\n * @return {VasJobModel}\n */\n public static empty(): VasJobModel {\n return new VasJobModel(\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n '',\n moment().utcOffset(),\n 0,\n '',\n 0,\n [],\n [],\n '',\n '',\n getEmptyGeoLocation()\n );\n }\n\n public static fromDto(dto: Partial<VasJobDto>): VasJobModel {\n const model = new VasJobModel(\n dto.id || '',\n dto.created || '',\n dto.serverCreated || '',\n dto.createdBy || '',\n dto.modified || '',\n dto.serverModified || '',\n dto.modifiedBy || '',\n dto.createdByName || '',\n dto.modifiedByName || '',\n dto.account || '',\n dto.accessGroup || '',\n dto.reference || '',\n dto.jobDate || '',\n dto.jobStatus || '',\n dto.jobType || '',\n dto.assigneeId || '',\n dto.formId || '',\n dto.timeZoneOffset || moment().utcOffset(),\n dto.pendingFields || 0,\n dto.childModified || '',\n dto.version || 0,\n dto.fields || [],\n dto.files || [],\n dto.createdByDisplayName || '',\n dto.modifiedByDisplayName || '',\n dto.geoLocation || getEmptyGeoLocation()\n );\n const emptyKeys = model.staticProperties;\n Object\n .keys(dto)\n .filter(key => emptyKeys.indexOf(key) === -1)\n .forEach((key: string) =>\n model.$this[key] = (dto as VasJobModelDynamicInterface)[key]\n );\n return model;\n }\n\n /**\n * @param {VasFormModel} formModel\n * @return {Record<string, VasFieldDtoValue>}\n */\n getFields(formModel: VasFormModel): Record<string, VasFieldDtoValue> {\n const fields: { [key: string]: VasFieldDtoValue } = {};\n formModel.groups\n .forEach(group => {\n group.controls.forEach(control => {\n (fields)[control.reportTemplateName] =\n this.getValueByPath([group.name, control.name]);\n });\n });\n return fields;\n }\n\n /**\n * Will return an object whose keys are the names of all fields in the job.\n * This method is similar to `getFields` except that this method will only\n * return values where a value was set, as opposed to `getFields` which\n * return a property regardless (because it uses the form to drive the logic)\n * @return {Record<string, VasFieldDtoValue>}\n */\n getFields2(): Record<string, VasFieldDtoValue> {\n let fields: { [key: string]: VasFieldDtoValue } = {};\n this.dynamicProperties\n .forEach((groupName) => {\n Object\n .keys(this.$this[groupName])\n .forEach(controlName => {\n fields[controlName] = this.getValueByPath([groupName, controlName]);\n });\n }, {});\n return fields;\n }\n\n /**\n * Returns an object describing how many attachments were added to this job\n * (camera controls and files), and how many have not been uploaded yet.\n *\n * @param formModel instance of {@link VasFormModel} that was used when the\n * job was created\n */\n getFilesUploadStatus(\n formModel: VasFormModel\n ): { pending: number; total: number } {\n\n const pathsWithValue: Array<Array<string>> = formModel\n .getCameraControlPaths()\n .map(path => {\n const value: VasFileDto | VasCameraControlValueModel =\n this.getValueByPath(path) as any;\n if (value && !!value.id) {\n return path;\n }\n return null;\n })\n .filter(path => path !== null ? path : null)\n .filter(isArrayString);\n\n let total = pathsWithValue.length;\n\n total += this.files.length;\n\n // calculate the number of camera images still to upload\n let pending = pathsWithValue\n .map(path => this.getValueByPath(path) as any)\n .map((value: VasFileDto | VasCameraControlValueModel) => {\n if (isFileDto(value)) {\n return value.id && value.status !== 'COMPLETE';\n } else if (isCameraControlValueV1(value)) {\n // if url is not set, it hasn't been uploaded\n return value.id && !value.url;\n }\n return false;\n })\n .filter(hasUploaded => hasUploaded)\n .length;\n\n // add total from files that are pending\n pending += this.files\n .filter(value => value.status !== 'COMPLETED')\n .length;\n\n return {\n pending,\n total\n };\n }\n\n /**\n * This method will hydrate the `fields` property of the model. The reason for\n * this is that we have different ways to store the field data. One way, is\n * we store them as dynamic properties of the job. For example job.foo.bar,\n * where `foo` is the name of a Group, and `bar` is the name of a control.\n * Thus, when we create a job using a form in the client, the job object will\n * have its static properties (id, account, reference etc), and also a number\n * of dynamic properties determined by the Groups and Controls. This kind of\n * object is nice to work with in certain circumstances. However, the api\n * works differently. In the API a Job is a record, and references a number of\n * Field records. Each Field stores the value. Comparing these two models we\n * have:\n * A) job with dynamic properties, e.g.\n * {\n * id: <guid>,\n * reference: \"something\"\n * <other static job properties>...\n * foo: {\n * bar: \"value\"\n * }\n * }\n *\n * B) job with fields\n * {\n * id: <guid>,\n * reference: \"something\"\n * <other static job properties>...\n * <will not have dynamic properties>...\n * fields: [\n * {\n * id: <guid>,\n * <other field properties>,\n * value: \"value\"\n * }\n * ]\n * }\n *\n * So, what this method does is given a JobModel in the form of A, read all\n * of those dynamic properties and set them into `fields`. Doing this requires\n * knowledge of the Form that was used to create the job. Moreover, since the\n * dynamic properties do not contain the ids of the fields, we also allow to\n * pass in a `controlFieldIdMap`. This map stores the mapping between Control\n * and the Field that was created in the Job to store the value for that\n * Control. This is useful, if for example you want to compare a Job in form A\n * with a Job in form B, for example if you want to update the Job on the API\n * with a Job that was saved by a client in form A.\n *\n * E.g.\n * Client -> API: client requests form\n * User -> Client: user fills in the form and submits\n * Client -> Firestore: client saves the Job in form A i.e. dynamic props\n * Firestore -> Function: A function is triggered to sync the job to the API\n * Function -> API: Function checks if job already exists, it receives 404\n * Function -> Function: The function calls `hydrateFields(...)`\n * Function -> API: The function POST the Job to /jobs\n * Function -> API: The function POST each field to /fields\n *\n * Similarly, if the user updates the job\n * Client -> API: client requests form\n * User -> Client: user fills in the form and submits an update\n * Client -> Firestore: client saves the Job in form A i.e. dynamic props\n * Firestore -> Function: A function is triggered to sync the job to the API\n * Function -> API: Function checks if job already exists, it receives 200\n * Function -> Function: The function calls `hydrateFields(...)` passing in\n * the map is made by iterating over the fields it\n * received from the API and storing the mappings\n * between controlId and fieldId for each field\n * Function -> API: The function PATCH the Job to /jobs\n * Function -> API: The function POST/PATCH each field to /fields\n * treated as new\n *\n * @param {VasFormModel} formModel the VasFormModel that was used to create\n * the job\n * @param {Map<string, string>} controlFieldIdMap a mapping of control to\n * field ids. This is used to determine whether a new id for the field should\n * be generated, or to reuse an existing one from the map.\n * @param {Array<string>} controlNames if a value is provided, it will be used\n * to filter the fields that are returned.\n * @return {Array<VasFieldDto>}\n */\n hydrateFields(\n formModel: VasFormModel,\n controlFieldIdMap: Map<string, string> = new Map<string, string>(),\n controlNames?: Array<string>\n ): void {\n const fields: Array<VasFieldDto> = [];\n formModel.groups\n .forEach(group => {\n group.controls.forEach(control => {\n\n if (!control.name.startsWith('fields.')) {\n return;\n }\n\n if (controlNames && !controlNames.includes(control.name)) {\n return;\n }\n\n fields.push(VasFieldModel.fromDto({\n // if the controlId exists in the map, use the associated fieldId,\n // otherwise generate a new id for the field.\n id: controlFieldIdMap.get(control.id) || UUID.UUID(),\n account: this.account,\n job: this.id,\n createdBy: this.createdBy,\n created: this.created,\n modifiedBy: this.modifiedBy,\n modified: this.modified,\n control: control.id,\n value: this.getValueByPath(\n [group.name, control.name]\n )\n }));\n });\n });\n this.fields = fields;\n }\n\n /**\n * @param {string[]} path path segments\n * @return {void}\n */\n getValueByPath<T extends VasFieldDtoValue>(\n path: string[] = []\n ): T | undefined {\n return getValueByPath(path, this.$this);\n }\n\n /**\n * A very non sophisticated way to set values in the job via paths\n *\n * For example:\n *\n * setValueByPath('value', ['foo', 'bar']);\n *\n * will make results in job\n * {\n * foo: {\n * bar: 'value'\n * }\n * }\n *\n * @param {any} value the value to set\n * @param {string[]} path path segments\n */\n setValueByPath(value: VasFieldDtoValue, path: string[] = []): void {\n switch (path.length) {\n case 0: {\n return;\n }\n case 1: {\n (this as any)[path[0]] = value;\n return;\n }\n case 2: {\n // eslint-disable-next-line max-len\n (this.$this[path[0]] as Record<string, VasFieldDtoValue>)[path[1]] = value;\n return;\n }\n case 3: {\n // eslint-disable-next-line max-len\n ((this.$this[path[0]] as Record<string, VasFieldDtoValue>)[path[1]] as Record<string, VasFieldDtoValue>)[path[2]] = value;\n return;\n }\n default: {\n throw Error('path has too many segments');\n }\n }\n }\n\n /**\n * @param {boolean} staticOnly if true, will only output values for the static\n * properties in the dto\n * @return {VasJobDto}\n */\n public toDto(staticOnly = false): VasJobDto {\n\n if (staticOnly) {\n return {\n id: this.id,\n created: this.created,\n createdBy: this.createdBy,\n modified: this.modified,\n modifiedBy: this.modifiedBy,\n serverCreated: this.serverCreated,\n serverModified: this.serverModified,\n createdByName: this.createdByName,\n modifiedByName: this.modifiedByName,\n account: this.account,\n accessGroup: this.accessGroup,\n reference: this.reference,\n jobDate: this.jobDate,\n jobStatus: this.jobStatus,\n jobType: this.jobType,\n assigneeId: this.assigneeId,\n formId: this.formId,\n timeZoneOffset: this.timeZoneOffset,\n pendingFields: this.pendingFields,\n childModified: this.childModified,\n version: this.version,\n fields: this.fields,\n files: this.files,\n createdByDisplayName: this.createdByDisplayName,\n modifiedByDisplayName: this.modifiedByDisplayName,\n geoLocation: this.geoLocation\n };\n }\n\n const dto = {} as VasJobModelDynamicInterface;\n [...this.staticProperties, ...this.dynamicProperties]\n .forEach(prop =>\n (dto)[prop] = this.$this[prop]);\n\n return dto as any;\n }\n\n /**\n * This method will parse a syntax that allows us to build strings from the\n * values of from the job model. For example if the job model was:\n *\n * {\n * foo: 'bar'\n * }\n *\n * and we pass \"i am foo {foo}\", the result would be:\n *\n * \"i am foo bar\"\n *\n * we can also use moment to parse dates, for example if the job model was:\n *\n * {\n * created: \"2022-01-01T00:00:00+0000\"\n * }\n *\n * and we pass \"{created|date:YY-MM-DD}\", the result would be:\n *\n * \"2022-01-01\"\n *\n * @param {string} value a string with the syntax\n * @param {ParseSyntaxOptions} options\n * @return {string} the results of parsing the syntax on this job\n */\n parseSyntax(\n value: string,\n options: ParseSyntaxOptions = {\n timeZoneOffset: 0\n }\n ): string {\n\n if (!value || typeof value !== 'string') {\n return '';\n }\n return value.replace(/({[^}]*})/g, (match: string, token: string) => {\n const syntax = token.substring(1, token.length - 1);\n\n let [key, filter] = syntax.split('|');\n key = (key || '').trim();\n filter = (filter || '').trim();\n\n let filterName, filterArg: string = '';\n if (filter) {\n const splitIndex = filter.indexOf(':');\n if (splitIndex !== -1) {\n filterName = filter.substring(0, splitIndex);\n filterArg = filter.substring(splitIndex + 1);\n } else {\n filterName = filter;\n filterArg = '';\n }\n filterName = (filterName || '').trim();\n filterArg = (filterArg || '').trim();\n }\n const path = key.split('.');\n const objectKey = path.shift() || '';\n let result = '';\n if (objectKey === 'job') {\n result = (this.getValueByPath(path) || '').toString();\n } else if (objectKey === 'fields') {\n result = (getValueByPath(path, this.getFields2()) || '').toString();\n } else if (objectKey.length) {\n if (options.objects) {\n if (options.objects[objectKey] === undefined) {\n console.debug(\n `objectKey ${objectKey} is not present in options.object`\n );\n result = '';\n } else {\n result = (getValueByPath(path, options.objects[objectKey]) || '')\n .toString();\n }\n } else {\n console.debug(\n `objectKey ${objectKey} was used but options.object is not set`\n );\n return '';\n }\n } else {\n return '';\n }\n\n\n if (filterName && result) {\n switch (filterName) {\n case 'date': {\n return moment(result)\n .utcOffset(options.timeZoneOffset)\n .format(filterArg || '');\n }\n default: {\n console.warn('unknown filter %s', filterName);\n }\n }\n }\n\n return result;\n }).trim();\n };\n\n /**\n * @return {object}\n */\n override toApiDto(): Record<string, string | number | boolean> {\n return {\n ...super.toApiDto(),\n reference: this.reference || '~',\n jobDate: this.jobDate || '~',\n jobType: this.jobType || '~',\n accessGroup: this.accessGroup || '~',\n jobStatus: this.jobStatus || '~',\n assigneeId: this.assigneeId || '~',\n timeZoneOffset: this.timeZoneOffset || 0,\n pendingFields: this.pendingFields || 0,\n lastForm: this.formId || '~'\n };\n }\n}\n"]}
@@ -1,3 +1,2 @@
1
- import { VasFormDto } from './vas-form.dto';
2
- export declare const formDto1Group1Control: VasFormDto;
1
+ export declare const formDto1Group1Control: import("@ironcode/vas-lib").VasFormDto;
3
2
  //# sourceMappingURL=vas-job.model.spec-data.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vas-job.model.spec-data.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-job.model.spec-data.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,eAAO,MAAM,qBAAqB,YAgEnB,CAAC"}
1
+ {"version":3,"file":"vas-job.model.spec-data.d.ts","sourceRoot":"","sources":["../../../../../projects/vas-lib/src/lib/entity/vas-job.model.spec-data.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,qBAAqB,wCAsBxB,CAAC"}