@esri/solution-common 4.1.2 → 5.0.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 (261) hide show
  1. package/dist/cjs/completeItem.d.ts +29 -29
  2. package/dist/cjs/completeItem.js +81 -81
  3. package/dist/cjs/create-hub-request-options.d.ts +29 -29
  4. package/dist/cjs/create-hub-request-options.js +63 -63
  5. package/dist/cjs/deleteHelpers/deleteEmptyGroups.d.ts +24 -24
  6. package/dist/cjs/deleteHelpers/deleteEmptyGroups.js +41 -41
  7. package/dist/cjs/deleteHelpers/deleteGroupIfEmpty.d.ts +27 -27
  8. package/dist/cjs/deleteHelpers/deleteGroupIfEmpty.js +96 -96
  9. package/dist/cjs/deleteHelpers/deleteSolutionContents.d.ts +38 -38
  10. package/dist/cjs/deleteHelpers/deleteSolutionContents.js +129 -129
  11. package/dist/cjs/deleteHelpers/deleteSolutionFolder.d.ts +29 -29
  12. package/dist/cjs/deleteHelpers/deleteSolutionFolder.js +78 -78
  13. package/dist/cjs/deleteHelpers/deleteSolutionItem.d.ts +30 -30
  14. package/dist/cjs/deleteHelpers/deleteSolutionItem.js +53 -53
  15. package/dist/cjs/deleteHelpers/index.d.ts +22 -22
  16. package/dist/cjs/deleteHelpers/index.js +25 -25
  17. package/dist/cjs/deleteHelpers/reconstructBuildOrderIds.d.ts +27 -27
  18. package/dist/cjs/deleteHelpers/reconstructBuildOrderIds.js +33 -33
  19. package/dist/cjs/deleteHelpers/removeItems.d.ts +34 -34
  20. package/dist/cjs/deleteHelpers/removeItems.js +111 -111
  21. package/dist/cjs/deleteHelpers/reportProgress.d.ts +27 -27
  22. package/dist/cjs/deleteHelpers/reportProgress.js +45 -45
  23. package/dist/cjs/deleteSolution.d.ts +55 -55
  24. package/dist/cjs/deleteSolution.js +106 -106
  25. package/dist/cjs/dependencies.d.ts +26 -26
  26. package/dist/cjs/dependencies.js +170 -170
  27. package/dist/cjs/featureServiceHelpers.d.ts +791 -791
  28. package/dist/cjs/featureServiceHelpers.js +2420 -2420
  29. package/dist/cjs/generalHelpers.d.ts +392 -385
  30. package/dist/cjs/generalHelpers.js +857 -854
  31. package/dist/cjs/generalHelpers.js.map +1 -1
  32. package/dist/cjs/get-subscription-info.d.ts +27 -27
  33. package/dist/cjs/get-subscription-info.js +38 -38
  34. package/dist/cjs/getDeletableSolutionInfo.d.ts +29 -29
  35. package/dist/cjs/getDeletableSolutionInfo.js +52 -52
  36. package/dist/cjs/getItemTypeAbbrev.d.ts +19 -19
  37. package/dist/cjs/getItemTypeAbbrev.js +184 -184
  38. package/dist/cjs/getSolutionSummary.d.ts +27 -27
  39. package/dist/cjs/getSolutionSummary.js +100 -100
  40. package/dist/cjs/index.d.ts +43 -44
  41. package/dist/cjs/index.js +46 -47
  42. package/dist/cjs/index.js.map +1 -1
  43. package/dist/cjs/interfaces.d.ts +1334 -1334
  44. package/dist/cjs/interfaces.js +74 -74
  45. package/dist/cjs/interfaces.js.map +1 -1
  46. package/dist/cjs/libConnectors.d.ts +73 -73
  47. package/dist/cjs/libConnectors.js +114 -114
  48. package/dist/cjs/migrations/apply-schema.d.ts +24 -24
  49. package/dist/cjs/migrations/apply-schema.js +35 -35
  50. package/dist/cjs/migrations/is-legacy-solution.d.ts +24 -24
  51. package/dist/cjs/migrations/is-legacy-solution.js +39 -39
  52. package/dist/cjs/migrations/upgrade-three-dot-one.d.ts +27 -27
  53. package/dist/cjs/migrations/upgrade-three-dot-one.js +48 -48
  54. package/dist/cjs/migrations/upgrade-three-dot-zero.d.ts +27 -27
  55. package/dist/cjs/migrations/upgrade-three-dot-zero.js +42 -42
  56. package/dist/cjs/migrations/upgrade-two-dot-five.d.ts +24 -24
  57. package/dist/cjs/migrations/upgrade-two-dot-five.js +72 -72
  58. package/dist/cjs/migrations/upgrade-two-dot-four.d.ts +24 -24
  59. package/dist/cjs/migrations/upgrade-two-dot-four.js +71 -71
  60. package/dist/cjs/migrations/upgrade-two-dot-one.d.ts +7 -7
  61. package/dist/cjs/migrations/upgrade-two-dot-one.js +38 -38
  62. package/dist/cjs/migrations/upgrade-two-dot-seven.d.ts +23 -23
  63. package/dist/cjs/migrations/upgrade-two-dot-seven.js +57 -57
  64. package/dist/cjs/migrations/upgrade-two-dot-six.d.ts +27 -27
  65. package/dist/cjs/migrations/upgrade-two-dot-six.js +60 -60
  66. package/dist/cjs/migrations/upgrade-two-dot-three.d.ts +23 -23
  67. package/dist/cjs/migrations/upgrade-two-dot-three.js +54 -54
  68. package/dist/cjs/migrations/upgrade-two-dot-two.d.ts +23 -23
  69. package/dist/cjs/migrations/upgrade-two-dot-two.js +57 -57
  70. package/dist/cjs/migrations/upgrade-two-dot-zero.d.ts +44 -44
  71. package/dist/cjs/migrations/upgrade-two-dot-zero.js +94 -94
  72. package/dist/cjs/migrator.d.ts +25 -25
  73. package/dist/cjs/migrator.js +76 -76
  74. package/dist/cjs/resourceHelpers.d.ts +191 -191
  75. package/dist/cjs/resourceHelpers.js +383 -390
  76. package/dist/cjs/resourceHelpers.js.map +1 -1
  77. package/dist/cjs/resources/add-resource-from-blob.d.ts +26 -26
  78. package/dist/cjs/resources/add-resource-from-blob.js +51 -51
  79. package/dist/cjs/resources/addMetadataFromBlob.d.ts +25 -25
  80. package/dist/cjs/resources/addMetadataFromBlob.js +42 -42
  81. package/dist/cjs/resources/convert-item-resource-to-storage-resource.d.ts +32 -32
  82. package/dist/cjs/resources/convert-item-resource-to-storage-resource.js +69 -69
  83. package/dist/cjs/resources/convert-storage-resource-to-item-resource.d.ts +29 -29
  84. package/dist/cjs/resources/convert-storage-resource-to-item-resource.js +69 -69
  85. package/dist/cjs/resources/copyAssociatedFiles.d.ts +67 -67
  86. package/dist/cjs/resources/copyAssociatedFiles.js +301 -301
  87. package/dist/cjs/resources/copyDataIntoItem.d.ts +33 -33
  88. package/dist/cjs/resources/copyDataIntoItem.js +61 -62
  89. package/dist/cjs/resources/copyDataIntoItem.js.map +1 -1
  90. package/dist/cjs/resources/copyMetadataIntoItem.d.ts +26 -26
  91. package/dist/cjs/resources/copyMetadataIntoItem.js +45 -45
  92. package/dist/cjs/resources/copyResourceIntoZip.d.ts +33 -33
  93. package/dist/cjs/resources/copyResourceIntoZip.js +77 -77
  94. package/dist/cjs/resources/copyZipIntoItem.d.ts +25 -25
  95. package/dist/cjs/resources/copyZipIntoItem.js +53 -53
  96. package/dist/cjs/resources/createCopyResults.d.ts +25 -25
  97. package/dist/cjs/resources/createCopyResults.js +35 -35
  98. package/dist/cjs/resources/get-blob.d.ts +26 -26
  99. package/dist/cjs/resources/get-blob.js +26 -26
  100. package/dist/cjs/resources/getItemResourcesFilesFromPaths.d.ts +24 -24
  101. package/dist/cjs/resources/getItemResourcesFilesFromPaths.js +48 -48
  102. package/dist/cjs/resources/getItemResourcesPaths.d.ts +26 -26
  103. package/dist/cjs/resources/getItemResourcesPaths.js +72 -72
  104. package/dist/cjs/resources/index.d.ts +29 -29
  105. package/dist/cjs/resources/index.js +32 -32
  106. package/dist/cjs/resources/solution-resource.d.ts +35 -35
  107. package/dist/cjs/resources/solution-resource.js +30 -30
  108. package/dist/cjs/resources/solution-resource.js.map +1 -1
  109. package/dist/cjs/resources/transform-resource-paths-to-solution-resources.d.ts +56 -56
  110. package/dist/cjs/resources/transform-resource-paths-to-solution-resources.js +145 -145
  111. package/dist/cjs/restHelpers.d.ts +586 -585
  112. package/dist/cjs/restHelpers.js +1888 -1883
  113. package/dist/cjs/restHelpers.js.map +1 -1
  114. package/dist/cjs/restHelpersGet.d.ts +288 -288
  115. package/dist/cjs/restHelpersGet.js +803 -803
  116. package/dist/cjs/sharing/index.d.ts +16 -16
  117. package/dist/cjs/sharing/index.js +19 -19
  118. package/dist/cjs/sharing/share-item-to-groups.d.ts +26 -26
  119. package/dist/cjs/sharing/share-item-to-groups.js +43 -43
  120. package/dist/cjs/templatization.d.ts +139 -139
  121. package/dist/cjs/templatization.js +313 -313
  122. package/dist/cjs/trackingHelpers.d.ts +116 -116
  123. package/dist/cjs/trackingHelpers.js +216 -216
  124. package/dist/cjs/velocityHelpers.d.ts +57 -57
  125. package/dist/cjs/velocityHelpers.js +134 -134
  126. package/dist/cjs/workforceHelpers.d.ts +115 -115
  127. package/dist/cjs/workforceHelpers.js +746 -746
  128. package/dist/cjs/workforceHelpers.js.map +1 -1
  129. package/dist/esm/completeItem.d.ts +29 -29
  130. package/dist/esm/completeItem.js +76 -76
  131. package/dist/esm/create-hub-request-options.d.ts +29 -29
  132. package/dist/esm/create-hub-request-options.js +59 -59
  133. package/dist/esm/deleteHelpers/deleteEmptyGroups.d.ts +24 -24
  134. package/dist/esm/deleteHelpers/deleteEmptyGroups.js +37 -37
  135. package/dist/esm/deleteHelpers/deleteGroupIfEmpty.d.ts +27 -27
  136. package/dist/esm/deleteHelpers/deleteGroupIfEmpty.js +91 -91
  137. package/dist/esm/deleteHelpers/deleteSolutionContents.d.ts +38 -38
  138. package/dist/esm/deleteHelpers/deleteSolutionContents.js +124 -124
  139. package/dist/esm/deleteHelpers/deleteSolutionFolder.d.ts +29 -29
  140. package/dist/esm/deleteHelpers/deleteSolutionFolder.js +73 -73
  141. package/dist/esm/deleteHelpers/deleteSolutionItem.d.ts +30 -30
  142. package/dist/esm/deleteHelpers/deleteSolutionItem.js +48 -48
  143. package/dist/esm/deleteHelpers/index.d.ts +22 -22
  144. package/dist/esm/deleteHelpers/index.js +22 -22
  145. package/dist/esm/deleteHelpers/reconstructBuildOrderIds.d.ts +27 -27
  146. package/dist/esm/deleteHelpers/reconstructBuildOrderIds.js +28 -28
  147. package/dist/esm/deleteHelpers/removeItems.d.ts +34 -34
  148. package/dist/esm/deleteHelpers/removeItems.js +106 -106
  149. package/dist/esm/deleteHelpers/reportProgress.d.ts +27 -27
  150. package/dist/esm/deleteHelpers/reportProgress.js +41 -41
  151. package/dist/esm/deleteSolution.d.ts +55 -55
  152. package/dist/esm/deleteSolution.js +100 -100
  153. package/dist/esm/dependencies.d.ts +26 -26
  154. package/dist/esm/dependencies.js +166 -166
  155. package/dist/esm/featureServiceHelpers.d.ts +791 -791
  156. package/dist/esm/featureServiceHelpers.js +2336 -2336
  157. package/dist/esm/generalHelpers.d.ts +392 -385
  158. package/dist/esm/generalHelpers.js +810 -808
  159. package/dist/esm/generalHelpers.js.map +1 -1
  160. package/dist/esm/get-subscription-info.d.ts +27 -27
  161. package/dist/esm/get-subscription-info.js +34 -34
  162. package/dist/esm/getDeletableSolutionInfo.d.ts +29 -29
  163. package/dist/esm/getDeletableSolutionInfo.js +47 -47
  164. package/dist/esm/getItemTypeAbbrev.d.ts +19 -19
  165. package/dist/esm/getItemTypeAbbrev.js +180 -180
  166. package/dist/esm/getSolutionSummary.d.ts +27 -27
  167. package/dist/esm/getSolutionSummary.js +95 -95
  168. package/dist/esm/index.d.ts +43 -44
  169. package/dist/esm/index.js +43 -44
  170. package/dist/esm/index.js.map +1 -1
  171. package/dist/esm/interfaces.d.ts +1334 -1334
  172. package/dist/esm/interfaces.js +70 -70
  173. package/dist/esm/libConnectors.d.ts +73 -73
  174. package/dist/esm/libConnectors.js +104 -104
  175. package/dist/esm/migrations/apply-schema.d.ts +24 -24
  176. package/dist/esm/migrations/apply-schema.js +31 -31
  177. package/dist/esm/migrations/is-legacy-solution.d.ts +24 -24
  178. package/dist/esm/migrations/is-legacy-solution.js +35 -35
  179. package/dist/esm/migrations/upgrade-three-dot-one.d.ts +27 -27
  180. package/dist/esm/migrations/upgrade-three-dot-one.js +44 -44
  181. package/dist/esm/migrations/upgrade-three-dot-zero.d.ts +27 -27
  182. package/dist/esm/migrations/upgrade-three-dot-zero.js +38 -38
  183. package/dist/esm/migrations/upgrade-two-dot-five.d.ts +24 -24
  184. package/dist/esm/migrations/upgrade-two-dot-five.js +68 -68
  185. package/dist/esm/migrations/upgrade-two-dot-four.d.ts +24 -24
  186. package/dist/esm/migrations/upgrade-two-dot-four.js +67 -67
  187. package/dist/esm/migrations/upgrade-two-dot-one.d.ts +7 -7
  188. package/dist/esm/migrations/upgrade-two-dot-one.js +34 -34
  189. package/dist/esm/migrations/upgrade-two-dot-seven.d.ts +23 -23
  190. package/dist/esm/migrations/upgrade-two-dot-seven.js +53 -53
  191. package/dist/esm/migrations/upgrade-two-dot-six.d.ts +27 -27
  192. package/dist/esm/migrations/upgrade-two-dot-six.js +56 -56
  193. package/dist/esm/migrations/upgrade-two-dot-three.d.ts +23 -23
  194. package/dist/esm/migrations/upgrade-two-dot-three.js +50 -50
  195. package/dist/esm/migrations/upgrade-two-dot-two.d.ts +23 -23
  196. package/dist/esm/migrations/upgrade-two-dot-two.js +53 -53
  197. package/dist/esm/migrations/upgrade-two-dot-zero.d.ts +44 -44
  198. package/dist/esm/migrations/upgrade-two-dot-zero.js +87 -87
  199. package/dist/esm/migrator.d.ts +25 -25
  200. package/dist/esm/migrator.js +72 -72
  201. package/dist/esm/resourceHelpers.d.ts +191 -191
  202. package/dist/esm/resourceHelpers.js +364 -371
  203. package/dist/esm/resourceHelpers.js.map +1 -1
  204. package/dist/esm/resources/add-resource-from-blob.d.ts +26 -26
  205. package/dist/esm/resources/add-resource-from-blob.js +47 -47
  206. package/dist/esm/resources/addMetadataFromBlob.d.ts +25 -25
  207. package/dist/esm/resources/addMetadataFromBlob.js +38 -38
  208. package/dist/esm/resources/convert-item-resource-to-storage-resource.d.ts +32 -32
  209. package/dist/esm/resources/convert-item-resource-to-storage-resource.js +65 -65
  210. package/dist/esm/resources/convert-storage-resource-to-item-resource.d.ts +29 -29
  211. package/dist/esm/resources/convert-storage-resource-to-item-resource.js +65 -65
  212. package/dist/esm/resources/copyAssociatedFiles.d.ts +67 -67
  213. package/dist/esm/resources/copyAssociatedFiles.js +293 -293
  214. package/dist/esm/resources/copyDataIntoItem.d.ts +33 -33
  215. package/dist/esm/resources/copyDataIntoItem.js +56 -57
  216. package/dist/esm/resources/copyDataIntoItem.js.map +1 -1
  217. package/dist/esm/resources/copyMetadataIntoItem.d.ts +26 -26
  218. package/dist/esm/resources/copyMetadataIntoItem.js +41 -41
  219. package/dist/esm/resources/copyResourceIntoZip.d.ts +33 -33
  220. package/dist/esm/resources/copyResourceIntoZip.js +72 -72
  221. package/dist/esm/resources/copyZipIntoItem.d.ts +25 -25
  222. package/dist/esm/resources/copyZipIntoItem.js +49 -49
  223. package/dist/esm/resources/createCopyResults.d.ts +25 -25
  224. package/dist/esm/resources/createCopyResults.js +31 -31
  225. package/dist/esm/resources/get-blob.d.ts +26 -26
  226. package/dist/esm/resources/get-blob.js +22 -22
  227. package/dist/esm/resources/getItemResourcesFilesFromPaths.d.ts +24 -24
  228. package/dist/esm/resources/getItemResourcesFilesFromPaths.js +44 -44
  229. package/dist/esm/resources/getItemResourcesPaths.d.ts +26 -26
  230. package/dist/esm/resources/getItemResourcesPaths.js +68 -68
  231. package/dist/esm/resources/index.d.ts +29 -29
  232. package/dist/esm/resources/index.js +29 -29
  233. package/dist/esm/resources/solution-resource.d.ts +35 -35
  234. package/dist/esm/resources/solution-resource.js +27 -27
  235. package/dist/esm/resources/transform-resource-paths-to-solution-resources.d.ts +56 -56
  236. package/dist/esm/resources/transform-resource-paths-to-solution-resources.js +137 -137
  237. package/dist/esm/restHelpers.d.ts +586 -585
  238. package/dist/esm/restHelpers.js +1827 -1823
  239. package/dist/esm/restHelpers.js.map +1 -1
  240. package/dist/esm/restHelpersGet.d.ts +288 -288
  241. package/dist/esm/restHelpersGet.js +763 -763
  242. package/dist/esm/sharing/index.d.ts +16 -16
  243. package/dist/esm/sharing/index.js +16 -16
  244. package/dist/esm/sharing/share-item-to-groups.d.ts +26 -26
  245. package/dist/esm/sharing/share-item-to-groups.js +39 -39
  246. package/dist/esm/templatization.d.ts +139 -139
  247. package/dist/esm/templatization.js +293 -293
  248. package/dist/esm/trackingHelpers.d.ts +116 -116
  249. package/dist/esm/trackingHelpers.js +204 -204
  250. package/dist/esm/velocityHelpers.d.ts +57 -57
  251. package/dist/esm/velocityHelpers.js +128 -128
  252. package/dist/esm/workforceHelpers.d.ts +115 -115
  253. package/dist/esm/workforceHelpers.js +717 -717
  254. package/dist/esm/workforceHelpers.js.map +1 -1
  255. package/package.json +2 -2
  256. package/dist/cjs/polyfills.d.ts +0 -40
  257. package/dist/cjs/polyfills.js +0 -98
  258. package/dist/cjs/polyfills.js.map +0 -1
  259. package/dist/esm/polyfills.d.ts +0 -40
  260. package/dist/esm/polyfills.js +0 -93
  261. package/dist/esm/polyfills.js.map +0 -1
@@ -1,116 +1,116 @@
1
- /** @license
2
- * Copyright 2021 Esri
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { IItemTemplate, UserSession } from "./interfaces";
17
- import { IItemUpdate } from "@esri/arcgis-rest-types";
18
- import { ICreateServiceParams } from "@esri/arcgis-rest-service-admin";
19
- /**
20
- * Used by deploy to evaluate if we have everything we need to deploy tracking views.
21
- *
22
- * This function will update the input templateDictionary with a boolean
23
- * indicating if tracking is enabled on the org and the user is an admin.
24
- *
25
- * @param portalResponse portal self response
26
- * @param userResponse portal user response
27
- * @param templateDictionary Hash of facts: org URL, adlib replacements, deferreds for dependencies
28
- * @param templates the list of IItemTemplates from the solution
29
- *
30
- * @private
31
- */
32
- export declare function setLocationTrackingEnabled(portalResponse: any, userResponse: any, templateDictionary: any, templates?: IItemTemplate[]): void;
33
- /**
34
- * Used by deploy to evaluate if we have everything we need to deploy tracking views.
35
- *
36
- * An error is thrown to prevent additional deployment work if we have Tracking items and tracking is
37
- * not enabled or the deployment user is not an admin in the organization.
38
- *
39
- * @param templates the list of IItemTemplates from the solution
40
- * @param templateDictionary Hash of facts: org URL, adlib replacements, deferreds for dependencies
41
- *
42
- * @private
43
- */
44
- export declare function _validateTrackingTemplates(templates: IItemTemplate[], templateDictionary: any): void;
45
- /**
46
- * Used by deploy to determine the owner of the tracking service.
47
- * Only one tracking service per org and all tracking views and tracking groups must be owned by the tracking service owner.
48
- *
49
- * This function will update the input templateDictionary with the owner as well as
50
- * the item id for the source tracking service.
51
- *
52
- * @param templateDictionary Hash of facts: org URL, adlib replacements, deferreds for dependencies
53
- * @param authentication Credentials for the requests
54
- *
55
- * @private
56
- */
57
- export declare function getTackingServiceOwner(templateDictionary: any, authentication: UserSession): Promise<boolean>;
58
- /**
59
- * Check key properties to understand if we are dealing with a tracking template
60
- *
61
- * @param itemTemplate the template to evaluate
62
- * @param itemUpdate the item update to evaluate
63
- *
64
- * @private
65
- */
66
- export declare function isTrackingViewTemplate(itemTemplate?: IItemTemplate, itemUpdate?: IItemUpdate): boolean;
67
- /**
68
- * Check key properties to understand if we are dealing with a tracking group template
69
- *
70
- * @param itemTemplate the template to evaluate
71
- *
72
- * @private
73
- */
74
- export declare function isTrackingViewGroup(itemTemplate: IItemTemplate): boolean;
75
- /**
76
- * Templatize the tracker view group id and view name for location tracking views.
77
- * This function will update the itemTemplate that is passed in when it's a tracking view.
78
- *
79
- * @param itemTemplate Template for feature service item
80
- *
81
- * @private
82
- */
83
- export declare function templatizeTracker(itemTemplate: IItemTemplate): void;
84
- /**
85
- * Templatize the tracker view group id and view name for location tracking views.
86
- * This function will update the itemTemplate that is passed in when it's a tracking view.
87
- *
88
- * @param itemTemplate Template for the tracker view
89
- * @param path the path to the property that stores the current name
90
- * @param groupId the id of the associated tracker group
91
- * @param groupIdVar the variable to replace the existing name with
92
- *
93
- * @private
94
- */
95
- export declare function _setName(itemTemplate: IItemTemplate, path: string, groupId: string, groupIdVar: string): void;
96
- /**
97
- * Templatize the tracker view serviceItemId
98
- *
99
- * This function will update the input obj with the templatized variable
100
- *
101
- * @param obj the object that stores the serviceItemId
102
- * @param path the path to the property that stores the serviceItemId
103
- *
104
- * @private
105
- */
106
- export declare function templatizeServiceItemId(obj: any, path: string): void;
107
- /**
108
- * Used by deploy to update the request options with key details for deploying tracker views
109
- *
110
- * @param itemTemplate Template for feature service item
111
- * @param options the current request options to update
112
- * @param templateDictionary Hash of facts: org URL, adlib replacements, deferreds for dependencies
113
- *
114
- * @private
115
- */
116
- export declare function setTrackingOptions(itemTemplate: IItemTemplate, options: any, templateDictionary: any): ICreateServiceParams;
1
+ /** @license
2
+ * Copyright 2021 Esri
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { IItemTemplate, UserSession } from "./interfaces";
17
+ import { IItemUpdate } from "@esri/arcgis-rest-types";
18
+ import { ICreateServiceParams } from "@esri/arcgis-rest-service-admin";
19
+ /**
20
+ * Used by deploy to evaluate if we have everything we need to deploy tracking views.
21
+ *
22
+ * This function will update the input templateDictionary with a boolean
23
+ * indicating if tracking is enabled on the org and the user is an admin.
24
+ *
25
+ * @param portalResponse portal self response
26
+ * @param userResponse portal user response
27
+ * @param templateDictionary Hash of facts: org URL, adlib replacements, deferreds for dependencies
28
+ * @param templates the list of IItemTemplates from the solution
29
+ *
30
+ * @private
31
+ */
32
+ export declare function setLocationTrackingEnabled(portalResponse: any, userResponse: any, templateDictionary: any, templates?: IItemTemplate[]): void;
33
+ /**
34
+ * Used by deploy to evaluate if we have everything we need to deploy tracking views.
35
+ *
36
+ * An error is thrown to prevent additional deployment work if we have Tracking items and tracking is
37
+ * not enabled or the deployment user is not an admin in the organization.
38
+ *
39
+ * @param templates the list of IItemTemplates from the solution
40
+ * @param templateDictionary Hash of facts: org URL, adlib replacements, deferreds for dependencies
41
+ *
42
+ * @private
43
+ */
44
+ export declare function _validateTrackingTemplates(templates: IItemTemplate[], templateDictionary: any): void;
45
+ /**
46
+ * Used by deploy to determine the owner of the tracking service.
47
+ * Only one tracking service per org and all tracking views and tracking groups must be owned by the tracking service owner.
48
+ *
49
+ * This function will update the input templateDictionary with the owner as well as
50
+ * the item id for the source tracking service.
51
+ *
52
+ * @param templateDictionary Hash of facts: org URL, adlib replacements, deferreds for dependencies
53
+ * @param authentication Credentials for the requests
54
+ *
55
+ * @private
56
+ */
57
+ export declare function getTackingServiceOwner(templateDictionary: any, authentication: UserSession): Promise<boolean>;
58
+ /**
59
+ * Check key properties to understand if we are dealing with a tracking template
60
+ *
61
+ * @param itemTemplate the template to evaluate
62
+ * @param itemUpdate the item update to evaluate
63
+ *
64
+ * @private
65
+ */
66
+ export declare function isTrackingViewTemplate(itemTemplate?: IItemTemplate, itemUpdate?: IItemUpdate): boolean;
67
+ /**
68
+ * Check key properties to understand if we are dealing with a tracking group template
69
+ *
70
+ * @param itemTemplate the template to evaluate
71
+ *
72
+ * @private
73
+ */
74
+ export declare function isTrackingViewGroup(itemTemplate: IItemTemplate): boolean;
75
+ /**
76
+ * Templatize the tracker view group id and view name for location tracking views.
77
+ * This function will update the itemTemplate that is passed in when it's a tracking view.
78
+ *
79
+ * @param itemTemplate Template for feature service item
80
+ *
81
+ * @private
82
+ */
83
+ export declare function templatizeTracker(itemTemplate: IItemTemplate): void;
84
+ /**
85
+ * Templatize the tracker view group id and view name for location tracking views.
86
+ * This function will update the itemTemplate that is passed in when it's a tracking view.
87
+ *
88
+ * @param itemTemplate Template for the tracker view
89
+ * @param path the path to the property that stores the current name
90
+ * @param groupId the id of the associated tracker group
91
+ * @param groupIdVar the variable to replace the existing name with
92
+ *
93
+ * @private
94
+ */
95
+ export declare function _setName(itemTemplate: IItemTemplate, path: string, groupId: string, groupIdVar: string): void;
96
+ /**
97
+ * Templatize the tracker view serviceItemId
98
+ *
99
+ * This function will update the input obj with the templatized variable
100
+ *
101
+ * @param obj the object that stores the serviceItemId
102
+ * @param path the path to the property that stores the serviceItemId
103
+ *
104
+ * @private
105
+ */
106
+ export declare function templatizeServiceItemId(obj: any, path: string): void;
107
+ /**
108
+ * Used by deploy to update the request options with key details for deploying tracker views
109
+ *
110
+ * @param itemTemplate Template for feature service item
111
+ * @param options the current request options to update
112
+ * @param templateDictionary Hash of facts: org URL, adlib replacements, deferreds for dependencies
113
+ *
114
+ * @private
115
+ */
116
+ export declare function setTrackingOptions(itemTemplate: IItemTemplate, options: any, templateDictionary: any): ICreateServiceParams;
@@ -1,205 +1,205 @@
1
- /** @license
2
- * Copyright 2021 Esri
3
- *
4
- * Licensed under the Apache License, Version 2.0 (the "License");
5
- * you may not use this file except in compliance with the License.
6
- * You may obtain a copy of the License at
7
- *
8
- * http://www.apache.org/licenses/LICENSE-2.0
9
- *
10
- * Unless required by applicable law or agreed to in writing, software
11
- * distributed under the License is distributed on an "AS IS" BASIS,
12
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
- * See the License for the specific language governing permissions and
14
- * limitations under the License.
15
- */
16
- import { getProp, setCreateProp, setProp } from "./generalHelpers";
17
- import { getItemBase } from "./restHelpersGet";
18
- import { templatizeTerm } from "./templatization";
19
- /**
20
- * Used by deploy to evaluate if we have everything we need to deploy tracking views.
21
- *
22
- * This function will update the input templateDictionary with a boolean
23
- * indicating if tracking is enabled on the org and the user is an admin.
24
- *
25
- * @param portalResponse portal self response
26
- * @param userResponse portal user response
27
- * @param templateDictionary Hash of facts: org URL, adlib replacements, deferreds for dependencies
28
- * @param templates the list of IItemTemplates from the solution
29
- *
30
- * @private
31
- */
32
- export function setLocationTrackingEnabled(portalResponse, userResponse, templateDictionary, templates) {
33
- // set locationTracking...contains service url and id
34
- const locationTracking = getProp(portalResponse, "helperServices.locationTracking");
35
- /* istanbul ignore else */
36
- if (locationTracking) {
37
- templateDictionary.locationTracking = locationTracking;
38
- }
39
- // verify we have location tracking service and the user is an admin
40
- templateDictionary.locationTrackingEnabled =
41
- templateDictionary.locationTracking &&
42
- getProp(userResponse, "role") === "org_admin"
43
- ? true
44
- : false;
45
- if (templates) {
46
- _validateTrackingTemplates(templates, templateDictionary);
47
- }
48
- }
49
- /**
50
- * Used by deploy to evaluate if we have everything we need to deploy tracking views.
51
- *
52
- * An error is thrown to prevent additional deployment work if we have Tracking items and tracking is
53
- * not enabled or the deployment user is not an admin in the organization.
54
- *
55
- * @param templates the list of IItemTemplates from the solution
56
- * @param templateDictionary Hash of facts: org URL, adlib replacements, deferreds for dependencies
57
- *
58
- * @private
59
- */
60
- export function _validateTrackingTemplates(templates, templateDictionary) {
61
- /* istanbul ignore else */
62
- if (!templateDictionary.locationTrackingEnabled &&
63
- templates.some(template => {
64
- const typeKeywords = getProp(template, "item.typeKeywords") || [];
65
- return typeKeywords.indexOf("Location Tracking View") > -1;
66
- })) {
67
- console.error("Location tracking not enabled or user is not admin.");
68
- throw new Error("Location tracking not enabled or user is not admin.");
69
- }
70
- }
71
- /**
72
- * Used by deploy to determine the owner of the tracking service.
73
- * Only one tracking service per org and all tracking views and tracking groups must be owned by the tracking service owner.
74
- *
75
- * This function will update the input templateDictionary with the owner as well as
76
- * the item id for the source tracking service.
77
- *
78
- * @param templateDictionary Hash of facts: org URL, adlib replacements, deferreds for dependencies
79
- * @param authentication Credentials for the requests
80
- *
81
- * @private
82
- */
83
- export function getTackingServiceOwner(templateDictionary, authentication) {
84
- if (templateDictionary.locationTrackingEnabled) {
85
- const locationTrackingId = templateDictionary.locationTracking.id;
86
- return getItemBase(locationTrackingId, authentication).then(itemBase => {
87
- templateDictionary.locationTracking.owner = itemBase.owner;
88
- templateDictionary[itemBase.id] = {
89
- itemId: itemBase.id
90
- };
91
- return Promise.resolve(itemBase && itemBase.owner === authentication.username);
92
- }, () => Promise.resolve(false));
93
- }
94
- else {
95
- return Promise.resolve(false);
96
- }
97
- }
98
- /**
99
- * Check key properties to understand if we are dealing with a tracking template
100
- *
101
- * @param itemTemplate the template to evaluate
102
- * @param itemUpdate the item update to evaluate
103
- *
104
- * @private
105
- */
106
- export function isTrackingViewTemplate(itemTemplate, itemUpdate) {
107
- const typeKeywords = getProp(itemTemplate, "item.typeKeywords") ||
108
- getProp(itemUpdate, "typeKeywords");
109
- const trackViewGroup = getProp(itemTemplate, "item.properties.trackViewGroup") ||
110
- getProp(itemUpdate, "properties.trackViewGroup");
111
- return (typeKeywords && typeKeywords.indexOf("Location Tracking View") > -1 && trackViewGroup) ? true : false;
112
- }
113
- /**
114
- * Check key properties to understand if we are dealing with a tracking group template
115
- *
116
- * @param itemTemplate the template to evaluate
117
- *
118
- * @private
119
- */
120
- export function isTrackingViewGroup(itemTemplate) {
121
- const typeKeywords = getProp(itemTemplate, "item.tags");
122
- return (typeKeywords && typeKeywords.indexOf("Location Tracking Group") > -1) ? true : false;
123
- }
124
- /**
125
- * Templatize the tracker view group id and view name for location tracking views.
126
- * This function will update the itemTemplate that is passed in when it's a tracking view.
127
- *
128
- * @param itemTemplate Template for feature service item
129
- *
130
- * @private
131
- */
132
- export function templatizeTracker(itemTemplate) {
133
- /* istanbul ignore else */
134
- if (isTrackingViewTemplate(itemTemplate)) {
135
- const trackViewGroup = getProp(itemTemplate, "item.properties.trackViewGroup");
136
- itemTemplate.groups.push(trackViewGroup);
137
- itemTemplate.dependencies.push(trackViewGroup);
138
- const groupIdVar = templatizeTerm(trackViewGroup, trackViewGroup, ".itemId");
139
- setProp(itemTemplate, "item.properties.trackViewGroup", groupIdVar);
140
- _setName(itemTemplate, "item.name", trackViewGroup, groupIdVar);
141
- _setName(itemTemplate, "properties.service.adminServiceInfo.name", trackViewGroup, groupIdVar);
142
- const layersAndTables = (itemTemplate.properties.layers || []).concat(itemTemplate.properties.tables || []);
143
- layersAndTables.forEach(l => {
144
- templatizeServiceItemId(l, "adminLayerInfo.viewLayerDefinition.sourceServiceItemId");
145
- });
146
- }
147
- }
148
- /**
149
- * Templatize the tracker view group id and view name for location tracking views.
150
- * This function will update the itemTemplate that is passed in when it's a tracking view.
151
- *
152
- * @param itemTemplate Template for the tracker view
153
- * @param path the path to the property that stores the current name
154
- * @param groupId the id of the associated tracker group
155
- * @param groupIdVar the variable to replace the existing name with
156
- *
157
- * @private
158
- */
159
- export function _setName(itemTemplate, path, groupId, groupIdVar) {
160
- const name = getProp(itemTemplate, path);
161
- /* istanbul ignore else */
162
- if (name) {
163
- setProp(itemTemplate, path, name.replace(groupId, groupIdVar));
164
- }
165
- }
166
- /**
167
- * Templatize the tracker view serviceItemId
168
- *
169
- * This function will update the input obj with the templatized variable
170
- *
171
- * @param obj the object that stores the serviceItemId
172
- * @param path the path to the property that stores the serviceItemId
173
- *
174
- * @private
175
- */
176
- export function templatizeServiceItemId(obj, path) {
177
- const serviceItemId = getProp(obj, path);
178
- /* istanbul ignore else */
179
- if (serviceItemId) {
180
- setProp(obj, path, templatizeTerm(serviceItemId, serviceItemId, ".itemId"));
181
- }
182
- }
183
- /**
184
- * Used by deploy to update the request options with key details for deploying tracker views
185
- *
186
- * @param itemTemplate Template for feature service item
187
- * @param options the current request options to update
188
- * @param templateDictionary Hash of facts: org URL, adlib replacements, deferreds for dependencies
189
- *
190
- * @private
191
- */
192
- export function setTrackingOptions(itemTemplate, options, templateDictionary) {
193
- /* istanbul ignore else */
194
- if (isTrackingViewTemplate(itemTemplate)) {
195
- setCreateProp(options, "owner", templateDictionary.locationTracking.owner);
196
- setCreateProp(options.item, "name", itemTemplate.item.name);
197
- setCreateProp(options.item, "isView", true);
198
- setCreateProp(options.item, "owner", templateDictionary.locationTracking.owner);
199
- setCreateProp(options.params, "isView", true);
200
- setCreateProp(options.params, "outputType", "locationTrackingService");
201
- delete (options.folderId);
202
- }
203
- return options.item;
204
- }
1
+ /** @license
2
+ * Copyright 2021 Esri
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { getProp, setCreateProp, setProp } from "./generalHelpers";
17
+ import { getItemBase } from "./restHelpersGet";
18
+ import { templatizeTerm } from "./templatization";
19
+ /**
20
+ * Used by deploy to evaluate if we have everything we need to deploy tracking views.
21
+ *
22
+ * This function will update the input templateDictionary with a boolean
23
+ * indicating if tracking is enabled on the org and the user is an admin.
24
+ *
25
+ * @param portalResponse portal self response
26
+ * @param userResponse portal user response
27
+ * @param templateDictionary Hash of facts: org URL, adlib replacements, deferreds for dependencies
28
+ * @param templates the list of IItemTemplates from the solution
29
+ *
30
+ * @private
31
+ */
32
+ export function setLocationTrackingEnabled(portalResponse, userResponse, templateDictionary, templates) {
33
+ // set locationTracking...contains service url and id
34
+ const locationTracking = getProp(portalResponse, "helperServices.locationTracking");
35
+ /* istanbul ignore else */
36
+ if (locationTracking) {
37
+ templateDictionary.locationTracking = locationTracking;
38
+ }
39
+ // verify we have location tracking service and the user is an admin
40
+ templateDictionary.locationTrackingEnabled =
41
+ templateDictionary.locationTracking &&
42
+ getProp(userResponse, "role") === "org_admin"
43
+ ? true
44
+ : false;
45
+ if (templates) {
46
+ _validateTrackingTemplates(templates, templateDictionary);
47
+ }
48
+ }
49
+ /**
50
+ * Used by deploy to evaluate if we have everything we need to deploy tracking views.
51
+ *
52
+ * An error is thrown to prevent additional deployment work if we have Tracking items and tracking is
53
+ * not enabled or the deployment user is not an admin in the organization.
54
+ *
55
+ * @param templates the list of IItemTemplates from the solution
56
+ * @param templateDictionary Hash of facts: org URL, adlib replacements, deferreds for dependencies
57
+ *
58
+ * @private
59
+ */
60
+ export function _validateTrackingTemplates(templates, templateDictionary) {
61
+ /* istanbul ignore else */
62
+ if (!templateDictionary.locationTrackingEnabled &&
63
+ templates.some(template => {
64
+ const typeKeywords = getProp(template, "item.typeKeywords") || [];
65
+ return typeKeywords.indexOf("Location Tracking View") > -1;
66
+ })) {
67
+ console.error("Location tracking not enabled or user is not admin.");
68
+ throw new Error("Location tracking not enabled or user is not admin.");
69
+ }
70
+ }
71
+ /**
72
+ * Used by deploy to determine the owner of the tracking service.
73
+ * Only one tracking service per org and all tracking views and tracking groups must be owned by the tracking service owner.
74
+ *
75
+ * This function will update the input templateDictionary with the owner as well as
76
+ * the item id for the source tracking service.
77
+ *
78
+ * @param templateDictionary Hash of facts: org URL, adlib replacements, deferreds for dependencies
79
+ * @param authentication Credentials for the requests
80
+ *
81
+ * @private
82
+ */
83
+ export function getTackingServiceOwner(templateDictionary, authentication) {
84
+ if (templateDictionary.locationTrackingEnabled) {
85
+ const locationTrackingId = templateDictionary.locationTracking.id;
86
+ return getItemBase(locationTrackingId, authentication).then(itemBase => {
87
+ templateDictionary.locationTracking.owner = itemBase.owner;
88
+ templateDictionary[itemBase.id] = {
89
+ itemId: itemBase.id
90
+ };
91
+ return Promise.resolve(itemBase && itemBase.owner === authentication.username);
92
+ }, () => Promise.resolve(false));
93
+ }
94
+ else {
95
+ return Promise.resolve(false);
96
+ }
97
+ }
98
+ /**
99
+ * Check key properties to understand if we are dealing with a tracking template
100
+ *
101
+ * @param itemTemplate the template to evaluate
102
+ * @param itemUpdate the item update to evaluate
103
+ *
104
+ * @private
105
+ */
106
+ export function isTrackingViewTemplate(itemTemplate, itemUpdate) {
107
+ const typeKeywords = getProp(itemTemplate, "item.typeKeywords") ||
108
+ getProp(itemUpdate, "typeKeywords");
109
+ const trackViewGroup = getProp(itemTemplate, "item.properties.trackViewGroup") ||
110
+ getProp(itemUpdate, "properties.trackViewGroup");
111
+ return (typeKeywords && typeKeywords.indexOf("Location Tracking View") > -1 && trackViewGroup) ? true : false;
112
+ }
113
+ /**
114
+ * Check key properties to understand if we are dealing with a tracking group template
115
+ *
116
+ * @param itemTemplate the template to evaluate
117
+ *
118
+ * @private
119
+ */
120
+ export function isTrackingViewGroup(itemTemplate) {
121
+ const typeKeywords = getProp(itemTemplate, "item.tags");
122
+ return (typeKeywords && typeKeywords.indexOf("Location Tracking Group") > -1) ? true : false;
123
+ }
124
+ /**
125
+ * Templatize the tracker view group id and view name for location tracking views.
126
+ * This function will update the itemTemplate that is passed in when it's a tracking view.
127
+ *
128
+ * @param itemTemplate Template for feature service item
129
+ *
130
+ * @private
131
+ */
132
+ export function templatizeTracker(itemTemplate) {
133
+ /* istanbul ignore else */
134
+ if (isTrackingViewTemplate(itemTemplate)) {
135
+ const trackViewGroup = getProp(itemTemplate, "item.properties.trackViewGroup");
136
+ itemTemplate.groups.push(trackViewGroup);
137
+ itemTemplate.dependencies.push(trackViewGroup);
138
+ const groupIdVar = templatizeTerm(trackViewGroup, trackViewGroup, ".itemId");
139
+ setProp(itemTemplate, "item.properties.trackViewGroup", groupIdVar);
140
+ _setName(itemTemplate, "item.name", trackViewGroup, groupIdVar);
141
+ _setName(itemTemplate, "properties.service.adminServiceInfo.name", trackViewGroup, groupIdVar);
142
+ const layersAndTables = (itemTemplate.properties.layers || []).concat(itemTemplate.properties.tables || []);
143
+ layersAndTables.forEach(l => {
144
+ templatizeServiceItemId(l, "adminLayerInfo.viewLayerDefinition.sourceServiceItemId");
145
+ });
146
+ }
147
+ }
148
+ /**
149
+ * Templatize the tracker view group id and view name for location tracking views.
150
+ * This function will update the itemTemplate that is passed in when it's a tracking view.
151
+ *
152
+ * @param itemTemplate Template for the tracker view
153
+ * @param path the path to the property that stores the current name
154
+ * @param groupId the id of the associated tracker group
155
+ * @param groupIdVar the variable to replace the existing name with
156
+ *
157
+ * @private
158
+ */
159
+ export function _setName(itemTemplate, path, groupId, groupIdVar) {
160
+ const name = getProp(itemTemplate, path);
161
+ /* istanbul ignore else */
162
+ if (name) {
163
+ setProp(itemTemplate, path, name.replace(groupId, groupIdVar));
164
+ }
165
+ }
166
+ /**
167
+ * Templatize the tracker view serviceItemId
168
+ *
169
+ * This function will update the input obj with the templatized variable
170
+ *
171
+ * @param obj the object that stores the serviceItemId
172
+ * @param path the path to the property that stores the serviceItemId
173
+ *
174
+ * @private
175
+ */
176
+ export function templatizeServiceItemId(obj, path) {
177
+ const serviceItemId = getProp(obj, path);
178
+ /* istanbul ignore else */
179
+ if (serviceItemId) {
180
+ setProp(obj, path, templatizeTerm(serviceItemId, serviceItemId, ".itemId"));
181
+ }
182
+ }
183
+ /**
184
+ * Used by deploy to update the request options with key details for deploying tracker views
185
+ *
186
+ * @param itemTemplate Template for feature service item
187
+ * @param options the current request options to update
188
+ * @param templateDictionary Hash of facts: org URL, adlib replacements, deferreds for dependencies
189
+ *
190
+ * @private
191
+ */
192
+ export function setTrackingOptions(itemTemplate, options, templateDictionary) {
193
+ /* istanbul ignore else */
194
+ if (isTrackingViewTemplate(itemTemplate)) {
195
+ setCreateProp(options, "owner", templateDictionary.locationTracking.owner);
196
+ setCreateProp(options.item, "name", itemTemplate.item.name);
197
+ setCreateProp(options.item, "isView", true);
198
+ setCreateProp(options.item, "owner", templateDictionary.locationTracking.owner);
199
+ setCreateProp(options.params, "isView", true);
200
+ setCreateProp(options.params, "outputType", "locationTrackingService");
201
+ delete (options.folderId);
202
+ }
203
+ return options.item;
204
+ }
205
205
  //# sourceMappingURL=trackingHelpers.js.map