@esri/solution-common 1.1.2 → 1.2.0

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 (258) hide show
  1. package/dist/esm/completeItem.js +6 -7
  2. package/dist/esm/completeItem.js.map +1 -1
  3. package/dist/esm/create-hub-request-options.d.ts +4 -4
  4. package/dist/esm/create-hub-request-options.js +9 -12
  5. package/dist/esm/create-hub-request-options.js.map +1 -1
  6. package/dist/esm/deleteHelpers/deleteEmptyGroups.js +2 -2
  7. package/dist/esm/deleteHelpers/deleteEmptyGroups.js.map +1 -1
  8. package/dist/esm/deleteHelpers/deleteGroupIfEmpty.js +15 -15
  9. package/dist/esm/deleteHelpers/deleteGroupIfEmpty.js.map +1 -1
  10. package/dist/esm/deleteHelpers/deleteSolutionContents.js +20 -22
  11. package/dist/esm/deleteHelpers/deleteSolutionContents.js.map +1 -1
  12. package/dist/esm/deleteHelpers/deleteSolutionFolder.js +10 -10
  13. package/dist/esm/deleteHelpers/deleteSolutionFolder.js.map +1 -1
  14. package/dist/esm/deleteHelpers/deleteSolutionItem.js +4 -4
  15. package/dist/esm/deleteHelpers/deleteSolutionItem.js.map +1 -1
  16. package/dist/esm/deleteHelpers/reconstructBuildOrderIds.js +1 -1
  17. package/dist/esm/deleteHelpers/reconstructBuildOrderIds.js.map +1 -1
  18. package/dist/esm/deleteHelpers/removeItems.js +20 -29
  19. package/dist/esm/deleteHelpers/removeItems.js.map +1 -1
  20. package/dist/esm/deleteHelpers/reportProgress.js +3 -6
  21. package/dist/esm/deleteHelpers/reportProgress.js.map +1 -1
  22. package/dist/esm/deleteSolution.js +10 -12
  23. package/dist/esm/deleteSolution.js.map +1 -1
  24. package/dist/esm/dependencies.js +27 -19
  25. package/dist/esm/dependencies.js.map +1 -1
  26. package/dist/esm/featureServiceHelpers.d.ts +6 -0
  27. package/dist/esm/featureServiceHelpers.js +530 -500
  28. package/dist/esm/featureServiceHelpers.js.map +1 -1
  29. package/dist/esm/generalHelpers.js +72 -76
  30. package/dist/esm/generalHelpers.js.map +1 -1
  31. package/dist/esm/get-subscription-info.js +5 -3
  32. package/dist/esm/get-subscription-info.js.map +1 -1
  33. package/dist/esm/getDeletableSolutionInfo.js +6 -10
  34. package/dist/esm/getDeletableSolutionInfo.js.map +1 -1
  35. package/dist/esm/getSolutionSummary.js +15 -19
  36. package/dist/esm/getSolutionSummary.js.map +1 -1
  37. package/dist/esm/index.d.ts +1 -0
  38. package/dist/esm/index.js +1 -0
  39. package/dist/esm/index.js.map +1 -1
  40. package/dist/esm/interfaces.d.ts +39 -1
  41. package/dist/esm/interfaces.js +3 -3
  42. package/dist/esm/interfaces.js.map +1 -1
  43. package/dist/esm/libConnectors.js +5 -7
  44. package/dist/esm/libConnectors.js.map +1 -1
  45. package/dist/esm/migrations/apply-schema.js +3 -3
  46. package/dist/esm/migrations/apply-schema.js.map +1 -1
  47. package/dist/esm/migrations/is-legacy-solution.js +2 -2
  48. package/dist/esm/migrations/is-legacy-solution.js.map +1 -1
  49. package/dist/esm/migrations/upgrade-three-dot-one.js +3 -3
  50. package/dist/esm/migrations/upgrade-three-dot-one.js.map +1 -1
  51. package/dist/esm/migrations/upgrade-three-dot-zero.js +1 -1
  52. package/dist/esm/migrations/upgrade-three-dot-zero.js.map +1 -1
  53. package/dist/esm/migrations/upgrade-two-dot-five.js +17 -8
  54. package/dist/esm/migrations/upgrade-two-dot-five.js.map +1 -1
  55. package/dist/esm/migrations/upgrade-two-dot-four.js +12 -12
  56. package/dist/esm/migrations/upgrade-two-dot-four.js.map +1 -1
  57. package/dist/esm/migrations/upgrade-two-dot-one.js +1 -1
  58. package/dist/esm/migrations/upgrade-two-dot-one.js.map +1 -1
  59. package/dist/esm/migrations/upgrade-two-dot-seven.js +1 -1
  60. package/dist/esm/migrations/upgrade-two-dot-seven.js.map +1 -1
  61. package/dist/esm/migrations/upgrade-two-dot-six.js +9 -12
  62. package/dist/esm/migrations/upgrade-two-dot-six.js.map +1 -1
  63. package/dist/esm/migrations/upgrade-two-dot-three.js +3 -3
  64. package/dist/esm/migrations/upgrade-two-dot-three.js.map +1 -1
  65. package/dist/esm/migrations/upgrade-two-dot-two.js +3 -3
  66. package/dist/esm/migrations/upgrade-two-dot-two.js.map +1 -1
  67. package/dist/esm/migrations/upgrade-two-dot-zero.js +8 -9
  68. package/dist/esm/migrations/upgrade-two-dot-zero.js.map +1 -1
  69. package/dist/esm/migrator.js +5 -7
  70. package/dist/esm/migrator.js.map +1 -1
  71. package/dist/esm/polyfills.js +5 -5
  72. package/dist/esm/polyfills.js.map +1 -1
  73. package/dist/esm/resourceHelpers.js +54 -57
  74. package/dist/esm/resourceHelpers.js.map +1 -1
  75. package/dist/esm/resources/add-resource-from-blob.js +2 -2
  76. package/dist/esm/resources/add-resource-from-blob.js.map +1 -1
  77. package/dist/esm/resources/addMetadataFromBlob.js +1 -1
  78. package/dist/esm/resources/addMetadataFromBlob.js.map +1 -1
  79. package/dist/esm/resources/convert-item-resource-to-storage-resource.js +6 -7
  80. package/dist/esm/resources/convert-item-resource-to-storage-resource.js.map +1 -1
  81. package/dist/esm/resources/convert-storage-resource-to-item-resource.js +8 -9
  82. package/dist/esm/resources/convert-storage-resource-to-item-resource.js.map +1 -1
  83. package/dist/esm/resources/copyAssociatedFiles.js +44 -53
  84. package/dist/esm/resources/copyAssociatedFiles.js.map +1 -1
  85. package/dist/esm/resources/copyDataIntoItem.js +5 -11
  86. package/dist/esm/resources/copyDataIntoItem.js.map +1 -1
  87. package/dist/esm/resources/copyMetadataIntoItem.js +4 -10
  88. package/dist/esm/resources/copyMetadataIntoItem.js.map +1 -1
  89. package/dist/esm/resources/copyResourceIntoZip.js +5 -7
  90. package/dist/esm/resources/copyResourceIntoZip.js.map +1 -1
  91. package/dist/esm/resources/copyZipIntoItem.js +5 -9
  92. package/dist/esm/resources/copyZipIntoItem.js.map +1 -1
  93. package/dist/esm/resources/createCopyResults.js +5 -2
  94. package/dist/esm/resources/createCopyResults.js.map +1 -1
  95. package/dist/esm/resources/get-blob.js +7 -5
  96. package/dist/esm/resources/get-blob.js.map +1 -1
  97. package/dist/esm/resources/getItemResourcesFilesFromPaths.js +7 -7
  98. package/dist/esm/resources/getItemResourcesFilesFromPaths.js.map +1 -1
  99. package/dist/esm/resources/getItemResourcesPaths.js +7 -8
  100. package/dist/esm/resources/getItemResourcesPaths.js.map +1 -1
  101. package/dist/esm/resources/transform-resource-paths-to-solution-resources.js +8 -9
  102. package/dist/esm/resources/transform-resource-paths-to-solution-resources.js.map +1 -1
  103. package/dist/esm/restHelpers.d.ts +65 -5
  104. package/dist/esm/restHelpers.js +422 -276
  105. package/dist/esm/restHelpers.js.map +1 -1
  106. package/dist/esm/restHelpersGet.js +102 -111
  107. package/dist/esm/restHelpersGet.js.map +1 -1
  108. package/dist/esm/sharing/share-item-to-groups.d.ts +2 -1
  109. package/dist/esm/sharing/share-item-to-groups.js +12 -6
  110. package/dist/esm/sharing/share-item-to-groups.js.map +1 -1
  111. package/dist/esm/templatization.js +64 -40
  112. package/dist/esm/templatization.js.map +1 -1
  113. package/dist/esm/trackingHelpers.d.ts +116 -0
  114. package/dist/esm/trackingHelpers.js +205 -0
  115. package/dist/esm/trackingHelpers.js.map +1 -0
  116. package/dist/esm/velocityHelpers.d.ts +2 -0
  117. package/dist/esm/velocityHelpers.js +30 -12
  118. package/dist/esm/velocityHelpers.js.map +1 -1
  119. package/dist/esm/workforceHelpers.d.ts +11 -0
  120. package/dist/esm/workforceHelpers.js +208 -180
  121. package/dist/esm/workforceHelpers.js.map +1 -1
  122. package/dist/node/completeItem.js +8 -9
  123. package/dist/node/completeItem.js.map +1 -1
  124. package/dist/node/create-hub-request-options.d.ts +4 -4
  125. package/dist/node/create-hub-request-options.js +11 -14
  126. package/dist/node/create-hub-request-options.js.map +1 -1
  127. package/dist/node/deleteHelpers/deleteEmptyGroups.js +3 -3
  128. package/dist/node/deleteHelpers/deleteEmptyGroups.js.map +1 -1
  129. package/dist/node/deleteHelpers/deleteGroupIfEmpty.js +16 -16
  130. package/dist/node/deleteHelpers/deleteGroupIfEmpty.js.map +1 -1
  131. package/dist/node/deleteHelpers/deleteSolutionContents.js +26 -28
  132. package/dist/node/deleteHelpers/deleteSolutionContents.js.map +1 -1
  133. package/dist/node/deleteHelpers/deleteSolutionFolder.js +11 -11
  134. package/dist/node/deleteHelpers/deleteSolutionFolder.js.map +1 -1
  135. package/dist/node/deleteHelpers/deleteSolutionItem.js +6 -6
  136. package/dist/node/deleteHelpers/deleteSolutionItem.js.map +1 -1
  137. package/dist/node/deleteHelpers/index.js +1 -1
  138. package/dist/node/deleteHelpers/reconstructBuildOrderIds.js +2 -2
  139. package/dist/node/deleteHelpers/reconstructBuildOrderIds.js.map +1 -1
  140. package/dist/node/deleteHelpers/removeItems.js +26 -35
  141. package/dist/node/deleteHelpers/removeItems.js.map +1 -1
  142. package/dist/node/deleteHelpers/reportProgress.js +4 -7
  143. package/dist/node/deleteHelpers/reportProgress.js.map +1 -1
  144. package/dist/node/deleteSolution.js +12 -14
  145. package/dist/node/deleteSolution.js.map +1 -1
  146. package/dist/node/dependencies.js +29 -21
  147. package/dist/node/dependencies.js.map +1 -1
  148. package/dist/node/featureServiceHelpers.d.ts +6 -0
  149. package/dist/node/featureServiceHelpers.js +535 -504
  150. package/dist/node/featureServiceHelpers.js.map +1 -1
  151. package/dist/node/generalHelpers.js +75 -79
  152. package/dist/node/generalHelpers.js.map +1 -1
  153. package/dist/node/get-subscription-info.js +7 -5
  154. package/dist/node/get-subscription-info.js.map +1 -1
  155. package/dist/node/getDeletableSolutionInfo.js +8 -12
  156. package/dist/node/getDeletableSolutionInfo.js.map +1 -1
  157. package/dist/node/getSolutionSummary.js +19 -23
  158. package/dist/node/getSolutionSummary.js.map +1 -1
  159. package/dist/node/index.d.ts +1 -0
  160. package/dist/node/index.js +2 -1
  161. package/dist/node/index.js.map +1 -1
  162. package/dist/node/interfaces.d.ts +39 -1
  163. package/dist/node/interfaces.js.map +1 -1
  164. package/dist/node/libConnectors.js +8 -10
  165. package/dist/node/libConnectors.js.map +1 -1
  166. package/dist/node/migrations/apply-schema.js +4 -4
  167. package/dist/node/migrations/apply-schema.js.map +1 -1
  168. package/dist/node/migrations/is-legacy-solution.js +3 -3
  169. package/dist/node/migrations/is-legacy-solution.js.map +1 -1
  170. package/dist/node/migrations/upgrade-three-dot-one.js +5 -5
  171. package/dist/node/migrations/upgrade-three-dot-one.js.map +1 -1
  172. package/dist/node/migrations/upgrade-three-dot-zero.js +2 -2
  173. package/dist/node/migrations/upgrade-three-dot-zero.js.map +1 -1
  174. package/dist/node/migrations/upgrade-two-dot-five.js +18 -9
  175. package/dist/node/migrations/upgrade-two-dot-five.js.map +1 -1
  176. package/dist/node/migrations/upgrade-two-dot-four.js +13 -13
  177. package/dist/node/migrations/upgrade-two-dot-four.js.map +1 -1
  178. package/dist/node/migrations/upgrade-two-dot-one.js +2 -2
  179. package/dist/node/migrations/upgrade-two-dot-one.js.map +1 -1
  180. package/dist/node/migrations/upgrade-two-dot-seven.js +2 -2
  181. package/dist/node/migrations/upgrade-two-dot-seven.js.map +1 -1
  182. package/dist/node/migrations/upgrade-two-dot-six.js +10 -13
  183. package/dist/node/migrations/upgrade-two-dot-six.js.map +1 -1
  184. package/dist/node/migrations/upgrade-two-dot-three.js +5 -5
  185. package/dist/node/migrations/upgrade-two-dot-three.js.map +1 -1
  186. package/dist/node/migrations/upgrade-two-dot-two.js +5 -5
  187. package/dist/node/migrations/upgrade-two-dot-two.js.map +1 -1
  188. package/dist/node/migrations/upgrade-two-dot-zero.js +9 -10
  189. package/dist/node/migrations/upgrade-two-dot-zero.js.map +1 -1
  190. package/dist/node/migrator.js +16 -18
  191. package/dist/node/migrator.js.map +1 -1
  192. package/dist/node/polyfills.js +5 -5
  193. package/dist/node/polyfills.js.map +1 -1
  194. package/dist/node/resourceHelpers.js +62 -65
  195. package/dist/node/resourceHelpers.js.map +1 -1
  196. package/dist/node/resources/add-resource-from-blob.js +4 -4
  197. package/dist/node/resources/add-resource-from-blob.js.map +1 -1
  198. package/dist/node/resources/addMetadataFromBlob.js +2 -2
  199. package/dist/node/resources/addMetadataFromBlob.js.map +1 -1
  200. package/dist/node/resources/convert-item-resource-to-storage-resource.js +6 -7
  201. package/dist/node/resources/convert-item-resource-to-storage-resource.js.map +1 -1
  202. package/dist/node/resources/convert-storage-resource-to-item-resource.js +9 -10
  203. package/dist/node/resources/convert-storage-resource-to-item-resource.js.map +1 -1
  204. package/dist/node/resources/copyAssociatedFiles.js +52 -61
  205. package/dist/node/resources/copyAssociatedFiles.js.map +1 -1
  206. package/dist/node/resources/copyDataIntoItem.js +9 -15
  207. package/dist/node/resources/copyDataIntoItem.js.map +1 -1
  208. package/dist/node/resources/copyMetadataIntoItem.js +7 -13
  209. package/dist/node/resources/copyMetadataIntoItem.js.map +1 -1
  210. package/dist/node/resources/copyResourceIntoZip.js +7 -9
  211. package/dist/node/resources/copyResourceIntoZip.js.map +1 -1
  212. package/dist/node/resources/copyZipIntoItem.js +8 -12
  213. package/dist/node/resources/copyZipIntoItem.js.map +1 -1
  214. package/dist/node/resources/createCopyResults.js +5 -2
  215. package/dist/node/resources/createCopyResults.js.map +1 -1
  216. package/dist/node/resources/get-blob.js +8 -6
  217. package/dist/node/resources/get-blob.js.map +1 -1
  218. package/dist/node/resources/getItemResourcesFilesFromPaths.js +8 -8
  219. package/dist/node/resources/getItemResourcesFilesFromPaths.js.map +1 -1
  220. package/dist/node/resources/getItemResourcesPaths.js +9 -10
  221. package/dist/node/resources/getItemResourcesPaths.js.map +1 -1
  222. package/dist/node/resources/index.js +1 -1
  223. package/dist/node/resources/transform-resource-paths-to-solution-resources.js +10 -11
  224. package/dist/node/resources/transform-resource-paths-to-solution-resources.js.map +1 -1
  225. package/dist/node/restHelpers.d.ts +65 -5
  226. package/dist/node/restHelpers.js +437 -285
  227. package/dist/node/restHelpers.js.map +1 -1
  228. package/dist/node/restHelpersGet.js +107 -116
  229. package/dist/node/restHelpersGet.js.map +1 -1
  230. package/dist/node/sharing/index.js +1 -1
  231. package/dist/node/sharing/share-item-to-groups.d.ts +2 -1
  232. package/dist/node/sharing/share-item-to-groups.js +13 -7
  233. package/dist/node/sharing/share-item-to-groups.js.map +1 -1
  234. package/dist/node/templatization.js +61 -37
  235. package/dist/node/templatization.js.map +1 -1
  236. package/dist/node/trackingHelpers.d.ts +116 -0
  237. package/dist/node/trackingHelpers.js +217 -0
  238. package/dist/node/trackingHelpers.js.map +1 -0
  239. package/dist/node/velocityHelpers.d.ts +2 -0
  240. package/dist/node/velocityHelpers.js +33 -15
  241. package/dist/node/velocityHelpers.js.map +1 -1
  242. package/dist/node/workforceHelpers.d.ts +11 -0
  243. package/dist/node/workforceHelpers.js +214 -185
  244. package/dist/node/workforceHelpers.js.map +1 -1
  245. package/dist/umd/common.umd.js +14830 -14466
  246. package/dist/umd/common.umd.js.map +1 -1
  247. package/dist/umd/common.umd.min.js +3 -3
  248. package/dist/umd/common.umd.min.js.map +1 -1
  249. package/dist/umd/create-hub-request-options.d.ts +4 -4
  250. package/dist/umd/featureServiceHelpers.d.ts +6 -0
  251. package/dist/umd/index.d.ts +1 -0
  252. package/dist/umd/interfaces.d.ts +39 -1
  253. package/dist/umd/restHelpers.d.ts +65 -5
  254. package/dist/umd/sharing/share-item-to-groups.d.ts +2 -1
  255. package/dist/umd/trackingHelpers.d.ts +116 -0
  256. package/dist/umd/velocityHelpers.d.ts +2 -0
  257. package/dist/umd/workforceHelpers.d.ts +11 -0
  258. package/package.json +24 -24
@@ -13,7 +13,6 @@
13
13
  * See the License for the specific language governing permissions and
14
14
  * limitations under the License.
15
15
  */
16
- import { __read } from "tslib";
17
16
  /**
18
17
  * Provides general helper functions.
19
18
  *
@@ -32,20 +31,20 @@ import { templatizeTerm, replaceInTemplate } from "./templatization";
32
31
  * @return templatized itemTemplate
33
32
  */
34
33
  export function convertWorkforceItemToTemplate(itemTemplate, authentication) {
35
- return new Promise(function (resolve, reject) {
34
+ return new Promise((resolve, reject) => {
36
35
  // This function is specific to workforce v1 project structure
37
36
  // Key properties that contain item IDs for the workforce project type
38
- var keyProperties = getKeyWorkforceProperties(1);
37
+ const keyProperties = getKeyWorkforceProperties(1);
39
38
  // The templates data to process
40
- var data = itemTemplate.data;
39
+ const data = itemTemplate.data;
41
40
  if (data) {
42
41
  // Extract dependencies
43
- extractWorkforceDependencies(data, keyProperties, authentication).then(function (results) {
42
+ extractWorkforceDependencies(data, keyProperties, authentication).then(results => {
44
43
  itemTemplate.dependencies = results.dependencies;
45
44
  // templatize key properties
46
45
  itemTemplate.data = templatizeWorkforce(data, keyProperties, results.urlHash);
47
46
  resolve(itemTemplate);
48
- }, function (e) { return reject(fail(e)); });
47
+ }, e => reject(fail(e)));
49
48
  }
50
49
  else {
51
50
  resolve(itemTemplate);
@@ -61,13 +60,13 @@ export function convertWorkforceItemToTemplate(itemTemplate, authentication) {
61
60
  * @return List of dependencies ids
62
61
  */
63
62
  export function extractWorkforceDependencies(data, keyProperties, authentication) {
64
- return new Promise(function (resolve, reject) {
65
- var deps = [];
63
+ return new Promise((resolve, reject) => {
64
+ const deps = [];
66
65
  // get the ids for the service dependencies
67
66
  // "workerWebMapId" and "dispatcherWebMapId" are already IDs and don't have a serviceItemId
68
- keyProperties.forEach(function (p) {
69
- var serviceItemId = getProp(data, p + ".serviceItemId");
70
- var v = getProp(data, p);
67
+ keyProperties.forEach(p => {
68
+ const serviceItemId = getProp(data, p + ".serviceItemId");
69
+ const v = getProp(data, p);
71
70
  if (serviceItemId) {
72
71
  if (deps.indexOf(serviceItemId) === -1) {
73
72
  deps.push(serviceItemId);
@@ -78,33 +77,33 @@ export function extractWorkforceDependencies(data, keyProperties, authentication
78
77
  }
79
78
  });
80
79
  if (getProp(data, "assignmentIntegrations")) {
81
- var requests_1 = [];
82
- var urls_1 = [];
83
- data.assignmentIntegrations.forEach(function (ai) {
80
+ let requests = [];
81
+ let urls = [];
82
+ data.assignmentIntegrations.forEach((ai) => {
84
83
  if (ai.assignmentTypes) {
85
- var assignmentKeys = Object.keys(ai.assignmentTypes);
86
- assignmentKeys.forEach(function (k) {
87
- var urlTemplate = ai.assignmentTypes[k].urlTemplate;
84
+ const assignmentKeys = Object.keys(ai.assignmentTypes);
85
+ assignmentKeys.forEach(k => {
86
+ const urlTemplate = ai.assignmentTypes[k].urlTemplate;
88
87
  idTest(urlTemplate, deps);
89
- var serviceRequests = urlTest(urlTemplate, authentication);
88
+ const serviceRequests = urlTest(urlTemplate, authentication);
90
89
  if (Array.isArray(serviceRequests.requests) &&
91
90
  serviceRequests.requests.length > 0) {
92
- requests_1 = requests_1.concat(serviceRequests.requests);
93
- urls_1 = urls_1.concat(serviceRequests.urls);
91
+ requests = requests.concat(serviceRequests.requests);
92
+ urls = urls.concat(serviceRequests.urls);
94
93
  }
95
94
  });
96
95
  }
97
96
  });
98
- if (requests_1.length > 0) {
99
- Promise.all(requests_1).then(function (results) {
100
- var urlHash = {};
97
+ if (requests.length > 0) {
98
+ Promise.all(requests).then(results => {
99
+ const urlHash = {};
101
100
  // Get the serviceItemId for the url
102
101
  /* istanbul ignore else */
103
102
  if (Array.isArray(results)) {
104
- results.forEach(function (result, i) {
103
+ results.forEach((result, i) => {
105
104
  /* istanbul ignore else */
106
105
  if (result.serviceItemId) {
107
- urlHash[urls_1[i]] = result.serviceItemId;
106
+ urlHash[urls[i]] = result.serviceItemId;
108
107
  /* istanbul ignore else */
109
108
  if (deps.indexOf(result.serviceItemId) === -1) {
110
109
  deps.push(result.serviceItemId);
@@ -116,7 +115,7 @@ export function extractWorkforceDependencies(data, keyProperties, authentication
116
115
  dependencies: deps,
117
116
  urlHash: urlHash
118
117
  });
119
- }, function (e) { return reject(fail(e)); });
118
+ }, e => reject(fail(e)));
120
119
  }
121
120
  else {
122
121
  resolve({
@@ -142,16 +141,16 @@ export function extractWorkforceDependencies(data, keyProperties, authentication
142
141
  * @return an updated data object to be stored in the template
143
142
  */
144
143
  export function templatizeWorkforce(data, keyProperties, urlHash) {
145
- keyProperties.forEach(function (p) {
144
+ keyProperties.forEach(p => {
146
145
  /* istanbul ignore else */
147
146
  if (getProp(data, p)) {
148
147
  if (getProp(data[p], "serviceItemId")) {
149
148
  // templatize properties with id and url
150
- var id = data[p].serviceItemId;
151
- var serviceItemIdSuffix = ".itemId";
149
+ const id = data[p].serviceItemId;
150
+ let serviceItemIdSuffix = ".itemId";
152
151
  /* istanbul ignore else */
153
152
  if (getProp(data[p], "url")) {
154
- var layerId = getLayerId(data[p].url);
153
+ const layerId = getLayerId(data[p].url);
155
154
  data[p].url = templatizeTerm(id, id, getReplaceValue(layerId, ".url"));
156
155
  serviceItemIdSuffix = getReplaceValue(layerId, serviceItemIdSuffix);
157
156
  }
@@ -165,13 +164,13 @@ export function templatizeWorkforce(data, keyProperties, urlHash) {
165
164
  });
166
165
  data["folderId"] = "{{folderId}}";
167
166
  // templatize app integrations
168
- var integrations = data.assignmentIntegrations || [];
169
- integrations.forEach(function (i) {
167
+ const integrations = data.assignmentIntegrations || [];
168
+ integrations.forEach(i => {
170
169
  _templatizeUrlTemplate(i, urlHash);
171
170
  /* istanbul ignore else */
172
171
  if (i.assignmentTypes) {
173
- var assignmentKeys = Object.keys(i.assignmentTypes);
174
- assignmentKeys.forEach(function (k) {
172
+ const assignmentKeys = Object.keys(i.assignmentTypes);
173
+ assignmentKeys.forEach(k => {
175
174
  _templatizeUrlTemplate(i.assignmentTypes[k], urlHash);
176
175
  });
177
176
  }
@@ -187,8 +186,8 @@ export function templatizeWorkforce(data, keyProperties, urlHash) {
187
186
  * @returns an array of objects with dependency ids
188
187
  */
189
188
  export function getWorkforceDependencies(itemTemplate, dependencies) {
190
- var properties = itemTemplate.item.properties || {};
191
- var keyProperties = getKeyWorkforceProperties(2);
189
+ const properties = itemTemplate.item.properties || {};
190
+ const keyProperties = getKeyWorkforceProperties(2);
192
191
  dependencies = keyProperties.reduce(function (acc, v) {
193
192
  /* istanbul ignore else */
194
193
  if (properties[v] && dependencies.indexOf(properties[v]) < 0) {
@@ -197,14 +196,14 @@ export function getWorkforceDependencies(itemTemplate, dependencies) {
197
196
  return acc;
198
197
  }, dependencies);
199
198
  // We also need the dependencies listed in the Assignment Integrations table
200
- var infos = getProp(itemTemplate, "properties.workforceInfos.assignmentIntegrationInfos");
199
+ const infos = getProp(itemTemplate, "properties.workforceInfos.assignmentIntegrationInfos");
201
200
  /* istanbul ignore else */
202
201
  if (infos && infos.length > 0) {
203
- infos.forEach(function (info) {
204
- var infoKeys = Object.keys(info);
202
+ infos.forEach((info) => {
203
+ const infoKeys = Object.keys(info);
205
204
  /* istanbul ignore else */
206
205
  if (infoKeys.indexOf("dependencies") > -1) {
207
- info["dependencies"].forEach(function (d) {
206
+ info["dependencies"].forEach((d) => {
208
207
  /* istanbul ignore else */
209
208
  if (dependencies.indexOf(d) < 0) {
210
209
  dependencies.push(d);
@@ -213,48 +212,82 @@ export function getWorkforceDependencies(itemTemplate, dependencies) {
213
212
  }
214
213
  });
215
214
  }
216
- return dependencies.map(function (d) {
215
+ return dependencies.map(d => {
217
216
  return { id: d, name: "" };
218
217
  });
219
218
  }
220
219
  export function getWorkforceServiceInfo(properties, url, authentication) {
221
- return new Promise(function (resolve, reject) {
220
+ return new Promise((resolve, reject) => {
222
221
  url = url.replace("/rest/admin/services", "/rest/services");
223
222
  url = _updateUrl(url);
224
- var requests = [
223
+ const requests = [
225
224
  queryFeatures({
226
- url: url + "3",
225
+ url: `${url}3`,
227
226
  where: "1=1",
228
- authentication: authentication
227
+ authentication
229
228
  }),
230
229
  queryFeatures({
231
- url: url + "4",
230
+ url: `${url}4`,
232
231
  where: "1=1",
233
- authentication: authentication
232
+ authentication
234
233
  })
235
234
  ];
236
- Promise.all(requests).then(function (responses) {
237
- var _a = __read(responses, 2), assignmentTypes = _a[0], assignmentIntegrations = _a[1];
235
+ Promise.all(requests).then(responses => {
236
+ const [assignmentTypes, assignmentIntegrations] = responses;
238
237
  properties.workforceInfos = {
239
238
  assignmentTypeInfos: _getAssignmentTypeInfos(assignmentTypes)
240
239
  };
241
- _getAssignmentIntegrationInfos(assignmentIntegrations, authentication).then(function (results) {
240
+ _getAssignmentIntegrationInfos(assignmentIntegrations, authentication).then(results => {
242
241
  properties.workforceInfos["assignmentIntegrationInfos"] = results;
242
+ _updateGlobalIdAndAssignmentType(properties.workforceInfos);
243
243
  resolve(properties);
244
- }, function (e) { return reject(fail(e)); });
245
- }, function (e) { return reject(fail(e)); });
244
+ }, e => reject(fail(e)));
245
+ }, e => reject(fail(e)));
246
246
  });
247
247
  }
248
+ /**
249
+ * Wrap global id and assignmenttype values in curly braces
250
+ *
251
+ * Added for issue #734
252
+ *
253
+ * This function will update the provided workforceInfos object
254
+ *
255
+ * @param workforceInfos the object that stores the integration and type info with global ids
256
+ *
257
+ */
258
+ export function _updateGlobalIdAndAssignmentType(workforceInfos) {
259
+ const updateId = (i) => {
260
+ /* istanbul ignore else */
261
+ if (i["GlobalID"]) {
262
+ i["GlobalID"] = `{${i["GlobalID"]}}`;
263
+ }
264
+ /* istanbul ignore else */
265
+ if (i["assignmenttype"]) {
266
+ i["assignmenttype"] = `{${i["assignmenttype"]}}`;
267
+ }
268
+ return i;
269
+ };
270
+ const assignmentIntegrationInfos = getProp(workforceInfos, "assignmentIntegrationInfos");
271
+ /* istanbul ignore else */
272
+ if (assignmentIntegrationInfos && Array.isArray(assignmentIntegrationInfos)) {
273
+ setProp(workforceInfos, "assignmentIntegrationInfos", assignmentIntegrationInfos.map(updateId));
274
+ }
275
+ const assignmentTypeInfos = getProp(workforceInfos, "assignmentTypeInfos");
276
+ /* istanbul ignore else */
277
+ if (assignmentTypeInfos && Array.isArray(assignmentTypeInfos)) {
278
+ setProp(workforceInfos, "assignmentTypeInfos", assignmentTypeInfos.map(updateId));
279
+ }
280
+ }
248
281
  export function _getAssignmentTypeInfos(assignmentTypes) {
249
282
  // Assignment Types
250
- var assignmentTypeInfos = [];
251
- var keyAssignmentTypeProps = [
283
+ const assignmentTypeInfos = [];
284
+ const keyAssignmentTypeProps = [
252
285
  "description",
253
286
  assignmentTypes.globalIdFieldName
254
287
  ];
255
- assignmentTypes.features.forEach(function (f) {
256
- var info = {};
257
- keyAssignmentTypeProps.forEach(function (p) {
288
+ assignmentTypes.features.forEach((f) => {
289
+ const info = {};
290
+ keyAssignmentTypeProps.forEach(p => {
258
291
  info[p] = f.attributes[p];
259
292
  });
260
293
  assignmentTypeInfos.push(info);
@@ -262,27 +295,27 @@ export function _getAssignmentTypeInfos(assignmentTypes) {
262
295
  return assignmentTypeInfos;
263
296
  }
264
297
  export function _getAssignmentIntegrationInfos(assignmentIntegrations, authentication) {
265
- return new Promise(function (resolve, reject) {
266
- var requests = [];
267
- var urls = [];
268
- var assignmentIntegrationInfos = [];
269
- var keyAssignmentIntegrationsProps = [
298
+ return new Promise((resolve, reject) => {
299
+ let requests = [];
300
+ let urls = [];
301
+ const assignmentIntegrationInfos = [];
302
+ const keyAssignmentIntegrationsProps = [
270
303
  "appid",
271
304
  assignmentIntegrations.globalIdFieldName,
272
305
  "prompt",
273
306
  "urltemplate",
274
307
  "assignmenttype"
275
308
  ];
276
- assignmentIntegrations.features.forEach(function (f) {
277
- var info = {};
278
- keyAssignmentIntegrationsProps.forEach(function (p) {
309
+ assignmentIntegrations.features.forEach((f) => {
310
+ const info = {};
311
+ keyAssignmentIntegrationsProps.forEach(p => {
279
312
  info[p] = f.attributes[p];
280
313
  /* istanbul ignore else */
281
314
  if (p === "urltemplate") {
282
- var urlTemplate = f.attributes[p];
283
- var ids = getIDs(urlTemplate);
315
+ const urlTemplate = f.attributes[p];
316
+ const ids = getIDs(urlTemplate);
284
317
  info["dependencies"] = ids;
285
- var serviceRequests = urlTest(urlTemplate, authentication);
318
+ const serviceRequests = urlTest(urlTemplate, authentication);
286
319
  /* istanbul ignore else */
287
320
  if (Array.isArray(serviceRequests.requests) &&
288
321
  serviceRequests.requests.length > 0) {
@@ -293,24 +326,24 @@ export function _getAssignmentIntegrationInfos(assignmentIntegrations, authentic
293
326
  });
294
327
  assignmentIntegrationInfos.push(info);
295
328
  });
296
- getUrlDependencies(requests, urls).then(function (results) {
297
- assignmentIntegrationInfos.forEach(function (ai) {
329
+ getUrlDependencies(requests, urls).then(results => {
330
+ assignmentIntegrationInfos.forEach(ai => {
298
331
  _templatizeUrlTemplate(ai, results.urlHash);
299
332
  });
300
333
  resolve(assignmentIntegrationInfos);
301
- }, function (e) { return reject(fail(e)); });
334
+ }, e => reject(fail(e)));
302
335
  });
303
336
  }
304
337
  export function getUrlDependencies(requests, urls) {
305
- return new Promise(function (resolve, reject) {
306
- var dependencies = [];
338
+ return new Promise((resolve, reject) => {
339
+ const dependencies = [];
307
340
  if (requests.length > 0) {
308
- Promise.all(requests).then(function (results) {
309
- var urlHash = {};
341
+ Promise.all(requests).then(results => {
342
+ const urlHash = {};
310
343
  // Get the serviceItemId for the url
311
344
  /* istanbul ignore else */
312
345
  if (Array.isArray(results)) {
313
- results.forEach(function (result, i) {
346
+ results.forEach((result, i) => {
314
347
  /* istanbul ignore else */
315
348
  if (result.serviceItemId) {
316
349
  urlHash[urls[i]] = result.serviceItemId;
@@ -322,14 +355,14 @@ export function getUrlDependencies(requests, urls) {
322
355
  });
323
356
  }
324
357
  resolve({
325
- dependencies: dependencies,
326
- urlHash: urlHash
358
+ dependencies,
359
+ urlHash
327
360
  });
328
- }, function (e) { return reject(fail(e)); });
361
+ }, e => reject(fail(e)));
329
362
  }
330
363
  else {
331
364
  resolve({
332
- dependencies: dependencies,
365
+ dependencies,
333
366
  urlHash: {}
334
367
  });
335
368
  }
@@ -344,21 +377,21 @@ export function getUrlDependencies(requests, urls) {
344
377
  export function _templatizeUrlTemplate(item, urlHash) {
345
378
  // v1 uses urlTemplate
346
379
  // v2 uses urltemplate
347
- var urlTemplateVar = getProp(item, "urlTemplate")
380
+ const urlTemplateVar = getProp(item, "urlTemplate")
348
381
  ? "urlTemplate"
349
382
  : "urltemplate";
350
- var urlTemplate = getProp(item, urlTemplateVar);
383
+ let urlTemplate = getProp(item, urlTemplateVar);
351
384
  /* istanbul ignore else */
352
385
  if (urlTemplate) {
353
- var ids = getIDs(urlTemplate);
354
- ids.forEach(function (id) {
386
+ const ids = getIDs(urlTemplate);
387
+ ids.forEach(id => {
355
388
  urlTemplate = urlTemplate.replace(id, templatizeTerm(id, id, ".itemId"));
356
389
  });
357
- var urls = _getURLs(urlTemplate);
358
- urls.forEach(function (url) {
359
- var layerId = getLayerId(url);
360
- var replaceValue = getReplaceValue(layerId, ".url");
361
- var id = urlHash[url];
390
+ const urls = _getURLs(urlTemplate);
391
+ urls.forEach(url => {
392
+ const layerId = getLayerId(url);
393
+ const replaceValue = getReplaceValue(layerId, ".url");
394
+ const id = urlHash[url];
362
395
  /* istanbul ignore else */
363
396
  if (Array.isArray(item.dependencies) &&
364
397
  item.dependencies.indexOf(id) < 0) {
@@ -376,12 +409,12 @@ export function getLayerId(url) {
376
409
  }
377
410
  export function getReplaceValue(layerId, suffix) {
378
411
  return isNaN(Number.parseInt(layerId, 10))
379
- ? "" + suffix
380
- : ".layer" + layerId + suffix;
412
+ ? `${suffix}`
413
+ : `.layer${layerId}${suffix}`;
381
414
  }
382
415
  export function postProcessWorkforceTemplates(templates) {
383
- var groupUpdates = {};
384
- var _templates = templates.map(function (t) {
416
+ const groupUpdates = {};
417
+ const _templates = templates.map(t => {
385
418
  // templatize Workforce Project
386
419
  t = _templatizeWorkforceProject(t, groupUpdates);
387
420
  // templatize Workforce Dispatcher
@@ -390,7 +423,7 @@ export function postProcessWorkforceTemplates(templates) {
390
423
  t = _templatizeWorkforceDispatcherOrWorker(t, "Workforce Worker");
391
424
  return t;
392
425
  });
393
- return _templates.map(function (t) {
426
+ return _templates.map(t => {
394
427
  if (groupUpdates[t.itemId]) {
395
428
  t.dependencies = t.dependencies.concat(groupUpdates[t.itemId]);
396
429
  }
@@ -400,37 +433,37 @@ export function postProcessWorkforceTemplates(templates) {
400
433
  export function _templatizeWorkforceProject(t, groupUpdates) {
401
434
  /* istanbul ignore else */
402
435
  if (isWorkforceProject(t)) {
403
- var properties_1 = t.item.properties || {};
404
- var keyProperties_1 = getKeyWorkforceProperties(2);
405
- var groupId_1 = properties_1["workforceProjectGroupId"];
406
- var shuffleIds_1 = [];
407
- Object.keys(properties_1).forEach(function (p) {
436
+ const properties = t.item.properties || {};
437
+ const keyProperties = getKeyWorkforceProperties(2);
438
+ const groupId = properties["workforceProjectGroupId"];
439
+ const shuffleIds = [];
440
+ Object.keys(properties).forEach((p) => {
408
441
  /* istanbul ignore else */
409
- if (keyProperties_1.indexOf(p) > -1) {
410
- var id = properties_1[p];
442
+ if (keyProperties.indexOf(p) > -1) {
443
+ const id = properties[p];
411
444
  /* istanbul ignore else */
412
- if (id !== groupId_1) {
413
- shuffleIds_1.push(id);
445
+ if (id !== groupId) {
446
+ shuffleIds.push(id);
414
447
  }
415
- t.item.properties[p] = templatizeTerm(properties_1[p], properties_1[p], ".itemId");
448
+ t.item.properties[p] = templatizeTerm(properties[p], properties[p], ".itemId");
416
449
  }
417
450
  });
418
451
  // update the dependencies
419
- t.dependencies = t.dependencies.filter(function (d) { return d !== groupId_1 && shuffleIds_1.indexOf(d) < 0; });
452
+ t.dependencies = t.dependencies.filter((d) => d !== groupId && shuffleIds.indexOf(d) < 0);
420
453
  // shuffle and cleanup
421
- var workforceInfos_1 = getProp(t, "properties.workforceInfos");
454
+ const workforceInfos = getProp(t, "properties.workforceInfos");
422
455
  /* istanbul ignore else */
423
- if (workforceInfos_1) {
424
- Object.keys(workforceInfos_1).forEach(function (k) {
425
- workforceInfos_1[k].forEach(function (wInfo) {
456
+ if (workforceInfos) {
457
+ Object.keys(workforceInfos).forEach(k => {
458
+ workforceInfos[k].forEach((wInfo) => {
426
459
  /* istanbul ignore else */
427
460
  if (wInfo.dependencies) {
428
- wInfo.dependencies.forEach(function (id) {
461
+ wInfo.dependencies.forEach((id) => {
429
462
  /* istanbul ignore else */
430
- if (shuffleIds_1.indexOf(id) < 0) {
431
- shuffleIds_1.push(id);
463
+ if (shuffleIds.indexOf(id) < 0) {
464
+ shuffleIds.push(id);
432
465
  }
433
- var depIndex = t.dependencies.indexOf(id);
466
+ const depIndex = t.dependencies.indexOf(id);
434
467
  /* istanbul ignore else */
435
468
  if (depIndex > -1) {
436
469
  t.dependencies.splice(depIndex, 1);
@@ -442,15 +475,15 @@ export function _templatizeWorkforceProject(t, groupUpdates) {
442
475
  });
443
476
  }
444
477
  // move the dependencies to the group
445
- groupUpdates[groupId_1] = shuffleIds_1;
478
+ groupUpdates[groupId] = shuffleIds;
446
479
  }
447
480
  return t;
448
481
  }
449
482
  export function _templatizeWorkforceDispatcherOrWorker(t, type) {
450
483
  /* istanbul ignore else */
451
484
  if ((t.item.typeKeywords || []).indexOf(type) > -1) {
452
- var properties = t.item.properties || {};
453
- var fsId = properties["workforceFeatureServiceId"];
485
+ const properties = t.item.properties || {};
486
+ const fsId = properties["workforceFeatureServiceId"];
454
487
  /* istanbul ignore else */
455
488
  if (fsId) {
456
489
  t.item.properties["workforceFeatureServiceId"] = templatizeTerm(fsId, fsId, ".itemId");
@@ -487,10 +520,10 @@ export function getKeyWorkforceProperties(version) {
487
520
  * @returns an object with any pending requests and the urls that requests were made to
488
521
  */
489
522
  export function urlTest(v, authentication) {
490
- var urls = _getURLs(v);
491
- var requests = [];
492
- urls.forEach(function (url) {
493
- var options = {
523
+ const urls = _getURLs(v);
524
+ const requests = [];
525
+ urls.forEach(url => {
526
+ const options = {
494
527
  f: "json",
495
528
  authentication: authentication
496
529
  };
@@ -502,9 +535,7 @@ export function urlTest(v, authentication) {
502
535
  };
503
536
  }
504
537
  export function _getURLs(v) {
505
- return regExTest(v, /=(http.*?FeatureServer.*?(?=&|$))/gi).map(function (_v) {
506
- return _v.replace("=", "");
507
- });
538
+ return regExTest(v, /=(http.*?FeatureServer.*?(?=&|$))/gi).map(_v => _v.replace("=", ""));
508
539
  }
509
540
  //#region Deploy Process ---------------------------------------------------------------------------------------//
510
541
  /**
@@ -515,63 +546,63 @@ export function _getURLs(v) {
515
546
  * @return A promise that will resolve with { "success" === true || false }
516
547
  */
517
548
  export function fineTuneCreatedWorkforceItem(newlyCreatedItem, destinationAuthentication, url, templateDictionary) {
518
- return new Promise(function (resolve, reject) {
519
- destinationAuthentication.getUser().then(function (user) {
549
+ return new Promise((resolve, reject) => {
550
+ destinationAuthentication.getUser().then(user => {
520
551
  // update url with slash if necessary
521
552
  url = _updateUrl(url);
522
553
  // Dispatchers...index 2 for workforce v2
523
554
  // for v1 we need tp fetch from dispatchers for v2 we use the items url
524
- var dispatchers = getProp(newlyCreatedItem, "data.dispatchers");
555
+ const dispatchers = getProp(newlyCreatedItem, "data.dispatchers");
525
556
  // add current user as dispatcher
526
- _updateDispatchers(dispatchers && dispatchers.url ? dispatchers.url : url + "2", user.username || "", user.fullName || "", destinationAuthentication, templateDictionary.isPortal).then(function (results) {
557
+ _updateDispatchers(dispatchers && dispatchers.url ? dispatchers.url : `${url}2`, user.username || "", user.fullName || "", destinationAuthentication, templateDictionary.isPortal).then(results => {
527
558
  // for workforce v2 we storce the key details from the workforce service as workforceInfos
528
559
  // now we need to detemplatize it and update the workforce service
529
- var workforceInfos = getProp(newlyCreatedItem, "properties.workforceInfos");
560
+ let workforceInfos = getProp(newlyCreatedItem, "properties.workforceInfos");
530
561
  if (workforceInfos && url) {
531
562
  workforceInfos = replaceInTemplate(workforceInfos, templateDictionary);
532
- _getFields(url, [2, 3, 4], destinationAuthentication).then(function (fields) {
563
+ _getFields(url, [2, 3, 4], destinationAuthentication).then(fields => {
533
564
  // Assignment Types...index 3
534
- var assignmentTypeUrl = url + "3";
535
- var assignmentTypeInfos = workforceInfos.assignmentTypeInfos;
536
- var assignmentTypeFeatures = _getAddFeatures(assignmentTypeInfos, fields[assignmentTypeUrl]);
537
- var assignmentTypePromise = _applyEdits(assignmentTypeUrl, assignmentTypeFeatures, destinationAuthentication, true);
565
+ const assignmentTypeUrl = `${url}3`;
566
+ const assignmentTypeInfos = workforceInfos.assignmentTypeInfos;
567
+ const assignmentTypeFeatures = _getAddFeatures(assignmentTypeInfos, fields[assignmentTypeUrl]);
568
+ const assignmentTypePromise = _applyEdits(assignmentTypeUrl, assignmentTypeFeatures, destinationAuthentication, true);
538
569
  // Assignment Integrations...index 4
539
- var assignmentIntegrationUrl = url + "4";
540
- var assignmentIntegrationInfos = workforceInfos.assignmentIntegrationInfos;
541
- var assignmentIntegrationFeatures = _getAddFeatures(assignmentIntegrationInfos, fields[assignmentIntegrationUrl]);
542
- var assignmentIntegrationPromise = _applyEdits(assignmentIntegrationUrl, assignmentIntegrationFeatures, destinationAuthentication, true);
570
+ const assignmentIntegrationUrl = `${url}4`;
571
+ const assignmentIntegrationInfos = workforceInfos.assignmentIntegrationInfos;
572
+ const assignmentIntegrationFeatures = _getAddFeatures(assignmentIntegrationInfos, fields[assignmentIntegrationUrl]);
573
+ const assignmentIntegrationPromise = _applyEdits(assignmentIntegrationUrl, assignmentIntegrationFeatures, destinationAuthentication, true);
543
574
  Promise.all([
544
575
  assignmentTypePromise,
545
576
  assignmentIntegrationPromise
546
577
  ]).then(resolve, reject);
547
- }, function (e) { return reject(fail(e)); });
578
+ }, e => reject(fail(e)));
548
579
  }
549
580
  else {
550
581
  resolve({ success: results });
551
582
  }
552
- }, function (e) { return reject(fail(e)); });
553
- }, function (e) { return reject(fail(e)); });
583
+ }, e => reject(fail(e)));
584
+ }, e => reject(fail(e)));
554
585
  });
555
586
  }
556
587
  export function _getFields(url, ids, authentication) {
557
- return new Promise(function (resolve, reject) {
558
- var options = {
588
+ return new Promise((resolve, reject) => {
589
+ const options = {
559
590
  f: "json",
560
591
  fields: "*",
561
592
  authentication: authentication
562
593
  };
563
594
  url = _updateUrl(url);
564
- var promises = [];
565
- ids.forEach(function (id) {
566
- promises.push(rest_request("" + url + id, options));
595
+ const promises = [];
596
+ ids.forEach(id => {
597
+ promises.push(rest_request(`${url}${id}`, options));
567
598
  });
568
- Promise.all(promises).then(function (results) {
569
- var finalResult = {};
570
- results.forEach(function (r) {
571
- finalResult["" + url + r.id] = r.fields.map(function (f) { return f.name; });
599
+ Promise.all(promises).then(results => {
600
+ const finalResult = {};
601
+ results.forEach(r => {
602
+ finalResult[`${url}${r.id}`] = r.fields.map((f) => f.name);
572
603
  });
573
604
  resolve(finalResult);
574
- }, function (e) { return reject(fail(e)); });
605
+ }, e => reject(fail(e)));
575
606
  });
576
607
  }
577
608
  export function _updateUrl(url) {
@@ -579,11 +610,11 @@ export function _updateUrl(url) {
579
610
  return url;
580
611
  }
581
612
  export function _getAddFeatures(updateInfos, fields) {
582
- var features = [];
583
- updateInfos.forEach(function (update) {
584
- var f = {};
585
- Object.keys(update).forEach(function (k) {
586
- var fieldName = _getField(k, fields);
613
+ const features = [];
614
+ updateInfos.forEach((update) => {
615
+ const f = {};
616
+ Object.keys(update).forEach(k => {
617
+ const fieldName = _getField(k, fields);
587
618
  f[fieldName] = update[k];
588
619
  });
589
620
  features.push({ attributes: f });
@@ -591,7 +622,7 @@ export function _getAddFeatures(updateInfos, fields) {
591
622
  return features;
592
623
  }
593
624
  export function _getField(name, fields) {
594
- return fields.filter(function (f) { return f.toLowerCase() === name.toLowerCase(); })[0];
625
+ return fields.filter(f => f.toLowerCase() === name.toLowerCase())[0];
595
626
  }
596
627
  /**
597
628
  * Updates the dispatchers service to include the current user as a dispatcher
@@ -604,24 +635,24 @@ export function _getField(name, fields) {
604
635
  * @protected
605
636
  */
606
637
  export function _updateDispatchers(url, name, fullName, authentication, isPortal) {
607
- return new Promise(function (resolve, reject) {
638
+ return new Promise((resolve, reject) => {
608
639
  if (url) {
609
- var fieldName_1 = isPortal ? "userid" : "userId";
640
+ const fieldName = isPortal ? "userid" : "userId";
610
641
  queryFeatures({
611
- url: url,
612
- where: fieldName_1 + " = '" + name + "'",
613
- authentication: authentication
614
- }).then(function (results) {
642
+ url,
643
+ where: `${fieldName} = '${name}'`,
644
+ authentication
645
+ }).then((results) => {
615
646
  if (results && results.features) {
616
647
  if (results.features.length === 0) {
617
- var features = [
648
+ const features = [
618
649
  {
619
650
  attributes: {
620
651
  name: fullName
621
652
  }
622
653
  }
623
654
  ];
624
- features[0].attributes[fieldName_1] = name;
655
+ features[0].attributes[fieldName] = name;
625
656
  _applyEdits(url, features, authentication).then(resolve, reject);
626
657
  }
627
658
  else {
@@ -631,24 +662,23 @@ export function _updateDispatchers(url, name, fullName, authentication, isPortal
631
662
  else {
632
663
  resolve(false);
633
664
  }
634
- }, function (e) { return reject(fail(e)); });
665
+ }, e => reject(fail(e)));
635
666
  }
636
667
  else {
637
668
  resolve(false);
638
669
  }
639
670
  });
640
671
  }
641
- export function _applyEdits(url, adds, authentication, useGlobalIds // only set when contains a globalid
672
+ export function _applyEdits(url, adds, authentication, useGlobalIds = false // only set when contains a globalid
642
673
  ) {
643
- if (useGlobalIds === void 0) { useGlobalIds = false; }
644
- return new Promise(function (resolve, reject) {
674
+ return new Promise((resolve, reject) => {
645
675
  if (adds.length > 0) {
646
676
  applyEdits({
647
- url: url,
648
- adds: adds,
649
- useGlobalIds: useGlobalIds,
650
- authentication: authentication
651
- }).then(function (addResults) {
677
+ url,
678
+ adds,
679
+ useGlobalIds,
680
+ authentication
681
+ }).then(addResults => {
652
682
  if (addResults && addResults.addResults) {
653
683
  resolve(true);
654
684
  }
@@ -658,13 +688,11 @@ export function _applyEdits(url, adds, authentication, useGlobalIds // only set
658
688
  message: "Failed to add dispatch record."
659
689
  }));
660
690
  }
661
- }, function (e) {
662
- return reject(fail({
663
- success: false,
664
- message: "Failed to add dispatch record.",
665
- error: e
666
- }));
667
- });
691
+ }, e => reject(fail({
692
+ success: false,
693
+ message: "Failed to add dispatch record.",
694
+ error: e
695
+ })));
668
696
  }
669
697
  else {
670
698
  resolve(true);