@esri/solution-common 5.2.1 → 5.2.3

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 (212) hide show
  1. package/README.md +4 -7
  2. package/dist/esm/completeItem.js +3 -3
  3. package/dist/esm/completeItem.js.map +1 -1
  4. package/dist/esm/formHelpers.d.ts +41 -0
  5. package/dist/esm/formHelpers.js +71 -0
  6. package/dist/esm/formHelpers.js.map +1 -0
  7. package/dist/esm/generalHelpers.d.ts +33 -0
  8. package/dist/esm/generalHelpers.js +44 -1
  9. package/dist/esm/generalHelpers.js.map +1 -1
  10. package/dist/esm/index.d.ts +2 -0
  11. package/dist/esm/index.js +2 -0
  12. package/dist/esm/index.js.map +1 -1
  13. package/dist/esm/interfaces.d.ts +19 -1
  14. package/dist/esm/interfaces.js.map +1 -1
  15. package/dist/esm/restHelpers.d.ts +10 -1
  16. package/dist/esm/restHelpers.js +25 -1
  17. package/dist/esm/restHelpers.js.map +1 -1
  18. package/dist/esm/templatization.js +5 -3
  19. package/dist/esm/templatization.js.map +1 -1
  20. package/dist/esm/workflowHelpers.d.ts +21 -1
  21. package/dist/esm/workflowHelpers.js +48 -48
  22. package/dist/esm/workflowHelpers.js.map +1 -1
  23. package/dist/esm/zip-utils.d.ts +44 -17
  24. package/dist/esm/zip-utils.js +73 -24
  25. package/dist/esm/zip-utils.js.map +1 -1
  26. package/package.json +3 -3
  27. package/dist/cjs/completeItem.d.ts +0 -29
  28. package/dist/cjs/completeItem.js +0 -92
  29. package/dist/cjs/completeItem.js.map +0 -1
  30. package/dist/cjs/create-hub-request-options.d.ts +0 -29
  31. package/dist/cjs/create-hub-request-options.js +0 -64
  32. package/dist/cjs/create-hub-request-options.js.map +0 -1
  33. package/dist/cjs/deleteHelpers/deleteEmptyGroups.d.ts +0 -24
  34. package/dist/cjs/deleteHelpers/deleteEmptyGroups.js +0 -42
  35. package/dist/cjs/deleteHelpers/deleteEmptyGroups.js.map +0 -1
  36. package/dist/cjs/deleteHelpers/deleteGroupIfEmpty.d.ts +0 -27
  37. package/dist/cjs/deleteHelpers/deleteGroupIfEmpty.js +0 -97
  38. package/dist/cjs/deleteHelpers/deleteGroupIfEmpty.js.map +0 -1
  39. package/dist/cjs/deleteHelpers/deleteSolutionContents.d.ts +0 -38
  40. package/dist/cjs/deleteHelpers/deleteSolutionContents.js +0 -130
  41. package/dist/cjs/deleteHelpers/deleteSolutionContents.js.map +0 -1
  42. package/dist/cjs/deleteHelpers/deleteSolutionFolder.d.ts +0 -29
  43. package/dist/cjs/deleteHelpers/deleteSolutionFolder.js +0 -79
  44. package/dist/cjs/deleteHelpers/deleteSolutionFolder.js.map +0 -1
  45. package/dist/cjs/deleteHelpers/deleteSolutionItem.d.ts +0 -30
  46. package/dist/cjs/deleteHelpers/deleteSolutionItem.js +0 -54
  47. package/dist/cjs/deleteHelpers/deleteSolutionItem.js.map +0 -1
  48. package/dist/cjs/deleteHelpers/index.d.ts +0 -22
  49. package/dist/cjs/deleteHelpers/index.js +0 -26
  50. package/dist/cjs/deleteHelpers/index.js.map +0 -1
  51. package/dist/cjs/deleteHelpers/reconstructBuildOrderIds.d.ts +0 -27
  52. package/dist/cjs/deleteHelpers/reconstructBuildOrderIds.js +0 -34
  53. package/dist/cjs/deleteHelpers/reconstructBuildOrderIds.js.map +0 -1
  54. package/dist/cjs/deleteHelpers/removeItems.d.ts +0 -34
  55. package/dist/cjs/deleteHelpers/removeItems.js +0 -112
  56. package/dist/cjs/deleteHelpers/removeItems.js.map +0 -1
  57. package/dist/cjs/deleteHelpers/reportProgress.d.ts +0 -27
  58. package/dist/cjs/deleteHelpers/reportProgress.js +0 -46
  59. package/dist/cjs/deleteHelpers/reportProgress.js.map +0 -1
  60. package/dist/cjs/deleteSolution.d.ts +0 -55
  61. package/dist/cjs/deleteSolution.js +0 -107
  62. package/dist/cjs/deleteSolution.js.map +0 -1
  63. package/dist/cjs/dependencies.d.ts +0 -26
  64. package/dist/cjs/dependencies.js +0 -171
  65. package/dist/cjs/dependencies.js.map +0 -1
  66. package/dist/cjs/featureServiceHelpers.d.ts +0 -799
  67. package/dist/cjs/featureServiceHelpers.js +0 -2438
  68. package/dist/cjs/featureServiceHelpers.js.map +0 -1
  69. package/dist/cjs/generalHelpers.d.ts +0 -400
  70. package/dist/cjs/generalHelpers.js +0 -877
  71. package/dist/cjs/generalHelpers.js.map +0 -1
  72. package/dist/cjs/get-subscription-info.d.ts +0 -27
  73. package/dist/cjs/get-subscription-info.js +0 -39
  74. package/dist/cjs/get-subscription-info.js.map +0 -1
  75. package/dist/cjs/getDeletableSolutionInfo.d.ts +0 -29
  76. package/dist/cjs/getDeletableSolutionInfo.js +0 -53
  77. package/dist/cjs/getDeletableSolutionInfo.js.map +0 -1
  78. package/dist/cjs/getItemTypeAbbrev.d.ts +0 -19
  79. package/dist/cjs/getItemTypeAbbrev.js +0 -186
  80. package/dist/cjs/getItemTypeAbbrev.js.map +0 -1
  81. package/dist/cjs/getSolutionSummary.d.ts +0 -27
  82. package/dist/cjs/getSolutionSummary.js +0 -101
  83. package/dist/cjs/getSolutionSummary.js.map +0 -1
  84. package/dist/cjs/index.d.ts +0 -44
  85. package/dist/cjs/index.js +0 -48
  86. package/dist/cjs/index.js.map +0 -1
  87. package/dist/cjs/interfaces.d.ts +0 -1344
  88. package/dist/cjs/interfaces.js +0 -77
  89. package/dist/cjs/interfaces.js.map +0 -1
  90. package/dist/cjs/libConnectors.d.ts +0 -73
  91. package/dist/cjs/libConnectors.js +0 -115
  92. package/dist/cjs/libConnectors.js.map +0 -1
  93. package/dist/cjs/migrations/apply-schema.d.ts +0 -24
  94. package/dist/cjs/migrations/apply-schema.js +0 -36
  95. package/dist/cjs/migrations/apply-schema.js.map +0 -1
  96. package/dist/cjs/migrations/is-legacy-solution.d.ts +0 -24
  97. package/dist/cjs/migrations/is-legacy-solution.js +0 -40
  98. package/dist/cjs/migrations/is-legacy-solution.js.map +0 -1
  99. package/dist/cjs/migrations/upgrade-three-dot-one.d.ts +0 -27
  100. package/dist/cjs/migrations/upgrade-three-dot-one.js +0 -49
  101. package/dist/cjs/migrations/upgrade-three-dot-one.js.map +0 -1
  102. package/dist/cjs/migrations/upgrade-three-dot-zero.d.ts +0 -27
  103. package/dist/cjs/migrations/upgrade-three-dot-zero.js +0 -43
  104. package/dist/cjs/migrations/upgrade-three-dot-zero.js.map +0 -1
  105. package/dist/cjs/migrations/upgrade-two-dot-five.d.ts +0 -24
  106. package/dist/cjs/migrations/upgrade-two-dot-five.js +0 -73
  107. package/dist/cjs/migrations/upgrade-two-dot-five.js.map +0 -1
  108. package/dist/cjs/migrations/upgrade-two-dot-four.d.ts +0 -24
  109. package/dist/cjs/migrations/upgrade-two-dot-four.js +0 -72
  110. package/dist/cjs/migrations/upgrade-two-dot-four.js.map +0 -1
  111. package/dist/cjs/migrations/upgrade-two-dot-one.d.ts +0 -7
  112. package/dist/cjs/migrations/upgrade-two-dot-one.js +0 -39
  113. package/dist/cjs/migrations/upgrade-two-dot-one.js.map +0 -1
  114. package/dist/cjs/migrations/upgrade-two-dot-seven.d.ts +0 -23
  115. package/dist/cjs/migrations/upgrade-two-dot-seven.js +0 -58
  116. package/dist/cjs/migrations/upgrade-two-dot-seven.js.map +0 -1
  117. package/dist/cjs/migrations/upgrade-two-dot-six.d.ts +0 -27
  118. package/dist/cjs/migrations/upgrade-two-dot-six.js +0 -61
  119. package/dist/cjs/migrations/upgrade-two-dot-six.js.map +0 -1
  120. package/dist/cjs/migrations/upgrade-two-dot-three.d.ts +0 -23
  121. package/dist/cjs/migrations/upgrade-two-dot-three.js +0 -55
  122. package/dist/cjs/migrations/upgrade-two-dot-three.js.map +0 -1
  123. package/dist/cjs/migrations/upgrade-two-dot-two.d.ts +0 -23
  124. package/dist/cjs/migrations/upgrade-two-dot-two.js +0 -58
  125. package/dist/cjs/migrations/upgrade-two-dot-two.js.map +0 -1
  126. package/dist/cjs/migrations/upgrade-two-dot-zero.d.ts +0 -44
  127. package/dist/cjs/migrations/upgrade-two-dot-zero.js +0 -95
  128. package/dist/cjs/migrations/upgrade-two-dot-zero.js.map +0 -1
  129. package/dist/cjs/migrator.d.ts +0 -25
  130. package/dist/cjs/migrator.js +0 -77
  131. package/dist/cjs/migrator.js.map +0 -1
  132. package/dist/cjs/resourceHelpers.d.ts +0 -191
  133. package/dist/cjs/resourceHelpers.js +0 -384
  134. package/dist/cjs/resourceHelpers.js.map +0 -1
  135. package/dist/cjs/resources/add-resource-from-blob.d.ts +0 -26
  136. package/dist/cjs/resources/add-resource-from-blob.js +0 -52
  137. package/dist/cjs/resources/add-resource-from-blob.js.map +0 -1
  138. package/dist/cjs/resources/addMetadataFromBlob.d.ts +0 -25
  139. package/dist/cjs/resources/addMetadataFromBlob.js +0 -43
  140. package/dist/cjs/resources/addMetadataFromBlob.js.map +0 -1
  141. package/dist/cjs/resources/convert-item-resource-to-storage-resource.d.ts +0 -32
  142. package/dist/cjs/resources/convert-item-resource-to-storage-resource.js +0 -70
  143. package/dist/cjs/resources/convert-item-resource-to-storage-resource.js.map +0 -1
  144. package/dist/cjs/resources/convert-storage-resource-to-item-resource.d.ts +0 -29
  145. package/dist/cjs/resources/convert-storage-resource-to-item-resource.js +0 -70
  146. package/dist/cjs/resources/convert-storage-resource-to-item-resource.js.map +0 -1
  147. package/dist/cjs/resources/copyAssociatedFiles.d.ts +0 -67
  148. package/dist/cjs/resources/copyAssociatedFiles.js +0 -304
  149. package/dist/cjs/resources/copyAssociatedFiles.js.map +0 -1
  150. package/dist/cjs/resources/copyDataIntoItem.d.ts +0 -33
  151. package/dist/cjs/resources/copyDataIntoItem.js +0 -62
  152. package/dist/cjs/resources/copyDataIntoItem.js.map +0 -1
  153. package/dist/cjs/resources/copyMetadataIntoItem.d.ts +0 -26
  154. package/dist/cjs/resources/copyMetadataIntoItem.js +0 -46
  155. package/dist/cjs/resources/copyMetadataIntoItem.js.map +0 -1
  156. package/dist/cjs/resources/copyResourceIntoZip.d.ts +0 -33
  157. package/dist/cjs/resources/copyResourceIntoZip.js +0 -78
  158. package/dist/cjs/resources/copyResourceIntoZip.js.map +0 -1
  159. package/dist/cjs/resources/copyZipIntoItem.d.ts +0 -25
  160. package/dist/cjs/resources/copyZipIntoItem.js +0 -54
  161. package/dist/cjs/resources/copyZipIntoItem.js.map +0 -1
  162. package/dist/cjs/resources/createCopyResults.d.ts +0 -25
  163. package/dist/cjs/resources/createCopyResults.js +0 -36
  164. package/dist/cjs/resources/createCopyResults.js.map +0 -1
  165. package/dist/cjs/resources/get-blob.d.ts +0 -26
  166. package/dist/cjs/resources/get-blob.js +0 -27
  167. package/dist/cjs/resources/get-blob.js.map +0 -1
  168. package/dist/cjs/resources/getItemResourcesFilesFromPaths.d.ts +0 -24
  169. package/dist/cjs/resources/getItemResourcesFilesFromPaths.js +0 -49
  170. package/dist/cjs/resources/getItemResourcesFilesFromPaths.js.map +0 -1
  171. package/dist/cjs/resources/getItemResourcesPaths.d.ts +0 -26
  172. package/dist/cjs/resources/getItemResourcesPaths.js +0 -76
  173. package/dist/cjs/resources/getItemResourcesPaths.js.map +0 -1
  174. package/dist/cjs/resources/index.d.ts +0 -29
  175. package/dist/cjs/resources/index.js +0 -33
  176. package/dist/cjs/resources/index.js.map +0 -1
  177. package/dist/cjs/resources/solution-resource.d.ts +0 -35
  178. package/dist/cjs/resources/solution-resource.js +0 -31
  179. package/dist/cjs/resources/solution-resource.js.map +0 -1
  180. package/dist/cjs/resources/transform-resource-paths-to-solution-resources.d.ts +0 -56
  181. package/dist/cjs/resources/transform-resource-paths-to-solution-resources.js +0 -146
  182. package/dist/cjs/resources/transform-resource-paths-to-solution-resources.js.map +0 -1
  183. package/dist/cjs/restHelpers.d.ts +0 -598
  184. package/dist/cjs/restHelpers.js +0 -1929
  185. package/dist/cjs/restHelpers.js.map +0 -1
  186. package/dist/cjs/restHelpersGet.d.ts +0 -288
  187. package/dist/cjs/restHelpersGet.js +0 -804
  188. package/dist/cjs/restHelpersGet.js.map +0 -1
  189. package/dist/cjs/sharing/index.d.ts +0 -16
  190. package/dist/cjs/sharing/index.js +0 -20
  191. package/dist/cjs/sharing/index.js.map +0 -1
  192. package/dist/cjs/sharing/share-item-to-groups.d.ts +0 -26
  193. package/dist/cjs/sharing/share-item-to-groups.js +0 -44
  194. package/dist/cjs/sharing/share-item-to-groups.js.map +0 -1
  195. package/dist/cjs/templatization.d.ts +0 -139
  196. package/dist/cjs/templatization.js +0 -314
  197. package/dist/cjs/templatization.js.map +0 -1
  198. package/dist/cjs/trackingHelpers.d.ts +0 -116
  199. package/dist/cjs/trackingHelpers.js +0 -217
  200. package/dist/cjs/trackingHelpers.js.map +0 -1
  201. package/dist/cjs/velocityHelpers.d.ts +0 -57
  202. package/dist/cjs/velocityHelpers.js +0 -135
  203. package/dist/cjs/velocityHelpers.js.map +0 -1
  204. package/dist/cjs/workflowHelpers.d.ts +0 -17
  205. package/dist/cjs/workflowHelpers.js +0 -76
  206. package/dist/cjs/workflowHelpers.js.map +0 -1
  207. package/dist/cjs/workforceHelpers.d.ts +0 -115
  208. package/dist/cjs/workforceHelpers.js +0 -749
  209. package/dist/cjs/workforceHelpers.js.map +0 -1
  210. package/dist/cjs/zip-utils.d.ts +0 -49
  211. package/dist/cjs/zip-utils.js +0 -89
  212. package/dist/cjs/zip-utils.js.map +0 -1
@@ -1,130 +0,0 @@
1
- "use strict";
2
- /** @license
3
- * Copyright 2021 Esri
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.deleteSolutionContents = void 0;
19
- const tslib_1 = require("tslib");
20
- /**
21
- * Provides a function for deleting a deployed Solution item and all of the items that were created
22
- * as part of that deployment.
23
- *
24
- * @module deleteSolution
25
- */
26
- const interfaces_1 = require("../interfaces");
27
- const deleteEmptyGroups = tslib_1.__importStar(require("./deleteEmptyGroups"));
28
- const deleteSolutionFolder = tslib_1.__importStar(require("./deleteSolutionFolder"));
29
- const deleteSolutionItem = tslib_1.__importStar(require("./deleteSolutionItem"));
30
- const removeItems = tslib_1.__importStar(require("./removeItems"));
31
- const reportProgress = tslib_1.__importStar(require("./reportProgress"));
32
- // ------------------------------------------------------------------------------------------------------------------ //
33
- /**
34
- * Deletes a deployed Solution item and and all of the items that were created
35
- * as part of that deployment.
36
- *
37
- * @param solutionItemId Id of a deployed Solution
38
- * @param solutionSummary List of items in the solution that would be deleted
39
- * @param authentication Credentials for the request
40
- * @param options Progress reporting options
41
- * @returns Promise that will resolve with a list of two solution summaries: successful deletions
42
- * and failed deletions. Ignored items (e.g., already deleted) and items shared with more than
43
- * one Solution will not be in either list.
44
- * Note that Solution item and its deployment folder will only be deleted if all of its deployed
45
- * items were deleted (the failure list is empty). This makes it possible to re-attempted
46
- * deletion using the solutionItemId.
47
- */
48
- function deleteSolutionContents(solutionItemId, solutionSummary, authentication, options) {
49
- const deleteOptions = options || {};
50
- let progressPercentStep = 0;
51
- let percentDone = 0;
52
- let solutionDeletedSummary;
53
- let solutionFailureSummary;
54
- let solutionIds = [];
55
- return new Promise(resolve => {
56
- let removalPromise = Promise.resolve([
57
- {
58
- id: solutionSummary.id,
59
- title: solutionSummary.title,
60
- folder: solutionSummary.folder,
61
- items: [],
62
- groups: []
63
- },
64
- {
65
- id: solutionSummary.id,
66
- title: solutionSummary.title,
67
- folder: solutionSummary.folder,
68
- items: [],
69
- groups: []
70
- }
71
- ]);
72
- if (solutionSummary.items.length > 0) {
73
- // Save a copy of the Solution item ids for the deleteSolutionFolder call because removeItems
74
- // destroys the solutionSummary.items list
75
- solutionIds = solutionSummary.items
76
- .map(item => item.id)
77
- .concat([solutionItemId]);
78
- const hubSiteItemIds = solutionSummary.items
79
- .filter((item) => item.type === "Hub Site Application")
80
- .map((item) => item.id);
81
- // Delete the items
82
- progressPercentStep = 100 / (solutionSummary.items.length + 2); // one extra for starting plus one extra for solution itself
83
- reportProgress.reportProgress((percentDone += progressPercentStep), deleteOptions); // let the caller know that we've started
84
- // Proceed with the deletion
85
- removalPromise = removeItems.removeItems(solutionSummary, hubSiteItemIds, authentication, percentDone, progressPercentStep, deleteOptions);
86
- }
87
- removalPromise
88
- .then((results) => {
89
- [solutionDeletedSummary, solutionFailureSummary] = results;
90
- // Attempt to delete groups; we won't be checking success
91
- return new Promise(resolve2 => {
92
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
93
- deleteEmptyGroups
94
- .deleteEmptyGroups(solutionSummary.groups, authentication)
95
- .then(() => {
96
- resolve2(results);
97
- });
98
- });
99
- })
100
- .then(() => {
101
- // If there were no failed deletes, it's OK to delete Solution item
102
- if (solutionFailureSummary.items.length === 0) {
103
- return deleteSolutionItem.deleteSolutionItem(solutionItemId, authentication);
104
- }
105
- else {
106
- // Not all items were deleted, so don't delete solution
107
- return Promise.resolve({ success: false, itemId: solutionItemId });
108
- }
109
- })
110
- .then((solutionItemDeleteStatus) => {
111
- // If all deletes succeeded, see if we can delete the folder that contained them
112
- if (solutionItemDeleteStatus.success) {
113
- reportProgress.reportProgress(99, deleteOptions, solutionItemId, interfaces_1.EItemProgressStatus.Finished);
114
- // Can't delete if folder contains non-solution items
115
- return deleteSolutionFolder.deleteSolutionFolder(solutionIds, solutionSummary.folder, authentication);
116
- }
117
- else {
118
- return Promise.resolve(false);
119
- }
120
- })
121
- .then(() => {
122
- resolve([solutionDeletedSummary, solutionFailureSummary]);
123
- })
124
- .catch(() => {
125
- resolve([solutionDeletedSummary, solutionFailureSummary]);
126
- });
127
- });
128
- }
129
- exports.deleteSolutionContents = deleteSolutionContents;
130
- //# sourceMappingURL=deleteSolutionContents.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deleteSolutionContents.js","sourceRoot":"","sources":["../../../src/deleteHelpers/deleteSolutionContents.ts"],"names":[],"mappings":"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"}
@@ -1,29 +0,0 @@
1
- /** @license
2
- * Copyright 2018 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
- /**
17
- * @module deleteSolutionFolder
18
- */
19
- import { UserSession } from "../interfaces";
20
- /**
21
- * Deletes a deployed Solution's folder if the folder is empty.
22
- *
23
- * @param solutionFolderId Id of the folder of a deployed Solution
24
- * @param deletedItemIds Ids in the Solution, including the Solution item; used to deal with lagging folder deletion
25
- * @param authentication Credentials for the request
26
- * @returns Promise that will resolve if deletion was successful and fail if any part of it failed;
27
- * if the folder has a non-Solution item, it will not be deleted, but the function will return true
28
- */
29
- export declare function deleteSolutionFolder(solutionIds: string[], folderId: string, authentication: UserSession): Promise<boolean>;
@@ -1,79 +0,0 @@
1
- "use strict";
2
- /** @license
3
- * Copyright 2018 Esri
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.deleteSolutionFolder = void 0;
19
- const tslib_1 = require("tslib");
20
- const portal = tslib_1.__importStar(require("@esri/arcgis-rest-portal"));
21
- // ------------------------------------------------------------------------------------------------------------------ //
22
- /**
23
- * Deletes a deployed Solution's folder if the folder is empty.
24
- *
25
- * @param solutionFolderId Id of the folder of a deployed Solution
26
- * @param deletedItemIds Ids in the Solution, including the Solution item; used to deal with lagging folder deletion
27
- * @param authentication Credentials for the request
28
- * @returns Promise that will resolve if deletion was successful and fail if any part of it failed;
29
- * if the folder has a non-Solution item, it will not be deleted, but the function will return true
30
- */
31
- function deleteSolutionFolder(solutionIds, folderId, authentication) {
32
- // See if the deployment folder is empty and can be deleted; first, we need info about user
33
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
34
- return authentication
35
- .getUser({ authentication })
36
- .then(user => {
37
- // And then we need to be sure that the folder is empty
38
- const query = new portal.SearchQueryBuilder()
39
- .match(authentication.username)
40
- .in("owner")
41
- .and()
42
- .match(user.orgId)
43
- .in("orgid")
44
- .and()
45
- .match(folderId)
46
- .in("ownerfolder");
47
- return portal.searchItems({
48
- q: query,
49
- authentication
50
- });
51
- })
52
- .then((searchResult) => {
53
- // If the search results are all in the deletedItemIds list, then we're dealing with AGO lagging:
54
- // successfully reporting a deletion and yet still returning the item in search results.
55
- // Filter the Solution items out of the search results.
56
- const nonSolutionItems = searchResult.results
57
- .map(foundItem => foundItem.id)
58
- .filter(foundItemId => !solutionIds.includes(foundItemId)); // only save non-solution items
59
- // If the list is empty, then there are no non-solution items
60
- if (nonSolutionItems.length === 0) {
61
- // OK to delete the folder
62
- return portal.removeFolder({
63
- folderId: folderId,
64
- owner: authentication.username,
65
- authentication
66
- });
67
- }
68
- else {
69
- // A non-deployment item is in the folder, so leave it alone
70
- return Promise.resolve({ success: true });
71
- }
72
- })
73
- .then(deleteFolderResponse => {
74
- // Extract the success property
75
- return deleteFolderResponse.success;
76
- });
77
- }
78
- exports.deleteSolutionFolder = deleteSolutionFolder;
79
- //# sourceMappingURL=deleteSolutionFolder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deleteSolutionFolder.js","sourceRoot":"","sources":["../../../src/deleteHelpers/deleteSolutionFolder.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;AAOH,yEAAmD;AAEnD,wHAAwH;AAExH;;;;;;;;GAQG;AACH,SAAgB,oBAAoB,CAClC,WAAqB,EACrB,QAAgB,EAChB,cAA2B;IAE3B,2FAA2F;IAC3F,mEAAmE;IACnE,OAAO,cAAc;SAClB,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;SAC3B,IAAI,CAAC,IAAI,CAAC,EAAE;QACX,uDAAuD;QACvD,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,kBAAkB,EAAE;aAC1C,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC;aAC9B,EAAE,CAAC,OAAO,CAAC;aACX,GAAG,EAAE;aACL,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;aACjB,EAAE,CAAC,OAAO,CAAC;aACX,GAAG,EAAE;aACL,KAAK,CAAC,QAAQ,CAAC;aACf,EAAE,CAAC,aAAa,CAAC,CAAC;QAErB,OAAO,MAAM,CAAC,WAAW,CAAC;YACxB,CAAC,EAAE,KAAK;YACR,cAAc;SACf,CAAC,CAAC;IACL,CAAC,CAAC;SACD,IAAI,CAAC,CAAC,YAAgD,EAAE,EAAE;QACzD,iGAAiG;QACjG,wFAAwF;QACxF,uDAAuD;QACvD,MAAM,gBAAgB,GAAG,YAAY,CAAC,OAAO;aAC1C,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC;aAC9B,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,+BAA+B;QAE7F,6DAA6D;QAC7D,IAAI,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAAE;YACjC,0BAA0B;YAC1B,OAAO,MAAM,CAAC,YAAY,CAAC;gBACzB,QAAQ,EAAE,QAAQ;gBAClB,KAAK,EAAE,cAAc,CAAC,QAAQ;gBAC9B,cAAc;aACf,CAAC,CAAC;SACJ;aAAM;YACL,4DAA4D;YAC5D,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;SAC3C;IACH,CAAC,CAAC;SACD,IAAI,CAAC,oBAAoB,CAAC,EAAE;QAC3B,+BAA+B;QAC/B,OAAO,oBAAoB,CAAC,OAAO,CAAC;IACtC,CAAC,CAAC,CAAC;AACP,CAAC;AAnDD,oDAmDC"}
@@ -1,30 +0,0 @@
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
- /**
17
- * Provides a function for deleting a deployed Solution item.
18
- *
19
- * @module deleteSolutionItem
20
- */
21
- import { IStatusResponse, UserSession } from "../interfaces";
22
- /**
23
- * Deletes a deployed Solution item and and all of the items that were created
24
- * as part of that deployment.
25
- *
26
- * @param solutionItemId Id of a deployed Solution
27
- * @param authentication Credentials for the request
28
- * @returns Promise that will resolve with the status of deleting the item
29
- */
30
- export declare function deleteSolutionItem(solutionItemId: string, authentication: UserSession): Promise<IStatusResponse>;
@@ -1,54 +0,0 @@
1
- "use strict";
2
- /** @license
3
- * Copyright 2021 Esri
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.deleteSolutionItem = void 0;
19
- const tslib_1 = require("tslib");
20
- const portal = tslib_1.__importStar(require("@esri/arcgis-rest-portal"));
21
- const restHelpers = tslib_1.__importStar(require("../restHelpers"));
22
- // ------------------------------------------------------------------------------------------------------------------ //
23
- /**
24
- * Deletes a deployed Solution item and and all of the items that were created
25
- * as part of that deployment.
26
- *
27
- * @param solutionItemId Id of a deployed Solution
28
- * @param authentication Credentials for the request
29
- * @returns Promise that will resolve with the status of deleting the item
30
- */
31
- function deleteSolutionItem(solutionItemId, authentication) {
32
- const protectOptions = {
33
- id: solutionItemId,
34
- authentication
35
- };
36
- return portal
37
- .unprotectItem(protectOptions)
38
- .then(result => {
39
- if (result.success) {
40
- return restHelpers.removeItem(solutionItemId, authentication);
41
- }
42
- else {
43
- return Promise.resolve(result);
44
- }
45
- })
46
- .then(result => {
47
- return Promise.resolve({
48
- success: result.success,
49
- itemId: solutionItemId
50
- });
51
- });
52
- }
53
- exports.deleteSolutionItem = deleteSolutionItem;
54
- //# sourceMappingURL=deleteSolutionItem.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deleteSolutionItem.js","sourceRoot":"","sources":["../../../src/deleteHelpers/deleteSolutionItem.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;AASH,yEAAmD;AACnD,oEAA8C;AAE9C,wHAAwH;AAExH;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAChC,cAAsB,EACtB,cAA2B;IAE3B,MAAM,cAAc,GAA4B;QAC9C,EAAE,EAAE,cAAc;QAClB,cAAc;KACf,CAAC;IACF,OAAO,MAAM;SACV,aAAa,CAAC,cAAc,CAAC;SAC7B,IAAI,CAAC,MAAM,CAAC,EAAE;QACb,IAAI,MAAM,CAAC,OAAO,EAAE;YAClB,OAAO,WAAW,CAAC,UAAU,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;SAC/D;aAAM;YACL,OAAO,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;SAChC;IACH,CAAC,CAAC;SACD,IAAI,CAAC,MAAM,CAAC,EAAE;QACb,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,MAAM,EAAE,cAAc;SACvB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAvBD,gDAuBC"}
@@ -1,22 +0,0 @@
1
- /** @license
2
- * Copyright 2020 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
- export * from "./deleteEmptyGroups";
17
- export * from "./deleteGroupIfEmpty";
18
- export * from "./deleteSolutionFolder";
19
- export * from "./deleteSolutionItem";
20
- export * from "./reconstructBuildOrderIds";
21
- export * from "./removeItems";
22
- export * from "./reportProgress";
@@ -1,26 +0,0 @@
1
- "use strict";
2
- /** @license
3
- * Copyright 2020 Esri
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- const tslib_1 = require("tslib");
19
- tslib_1.__exportStar(require("./deleteEmptyGroups"), exports);
20
- tslib_1.__exportStar(require("./deleteGroupIfEmpty"), exports);
21
- tslib_1.__exportStar(require("./deleteSolutionFolder"), exports);
22
- tslib_1.__exportStar(require("./deleteSolutionItem"), exports);
23
- tslib_1.__exportStar(require("./reconstructBuildOrderIds"), exports);
24
- tslib_1.__exportStar(require("./removeItems"), exports);
25
- tslib_1.__exportStar(require("./reportProgress"), exports);
26
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/deleteHelpers/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,8DAAoC;AACpC,+DAAqC;AACrC,iEAAuC;AACvC,+DAAqC;AACrC,qEAA2C;AAC3C,wDAA8B;AAC9B,2DAAiC"}
@@ -1,27 +0,0 @@
1
- /** @license
2
- * Copyright 2018 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
- /**
17
- * @module reconstructBuildOrderIds
18
- */
19
- import { IItemTemplate } from "../interfaces";
20
- /**
21
- * Reconstructs the build order of a set of templates.
22
- *
23
- * @param templates A collection of AGO item templates
24
- * @returns The ids of the source templates in build order, which is not necessarily the same
25
- * as the build order used to create the template Solution
26
- */
27
- export declare function reconstructBuildOrderIds(templates: IItemTemplate[]): string[];
@@ -1,34 +0,0 @@
1
- "use strict";
2
- /** @license
3
- * Copyright 2018 Esri
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.reconstructBuildOrderIds = void 0;
19
- const tslib_1 = require("tslib");
20
- const dependencies = tslib_1.__importStar(require("../dependencies"));
21
- // ------------------------------------------------------------------------------------------------------------------ //
22
- /**
23
- * Reconstructs the build order of a set of templates.
24
- *
25
- * @param templates A collection of AGO item templates
26
- * @returns The ids of the source templates in build order, which is not necessarily the same
27
- * as the build order used to create the template Solution
28
- */
29
- function reconstructBuildOrderIds(templates) {
30
- const buildOrdering = dependencies.topologicallySortItems(templates);
31
- return buildOrdering.buildOrder;
32
- }
33
- exports.reconstructBuildOrderIds = reconstructBuildOrderIds;
34
- //# sourceMappingURL=reconstructBuildOrderIds.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"reconstructBuildOrderIds.js","sourceRoot":"","sources":["../../../src/deleteHelpers/reconstructBuildOrderIds.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;;AAMH,sEAAgD;AAEhD,wHAAwH;AAExH;;;;;;GAMG;AACH,SAAgB,wBAAwB,CAAC,SAA0B;IACjE,MAAM,aAAa,GAAmB,YAAY,CAAC,sBAAsB,CACvE,SAAS,CACV,CAAC;IACF,OAAO,aAAa,CAAC,UAAU,CAAC;AAClC,CAAC;AALD,4DAKC"}
@@ -1,34 +0,0 @@
1
- /** @license
2
- * Copyright 2018 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
- /**
17
- * @module removeItems
18
- */
19
- import { IDeleteSolutionOptions, ISolutionPrecis, UserSession } from "../interfaces";
20
- /**
21
- * Removes a list of items starting from the end.
22
- *
23
- * @param itemIds List of ids of items to remove
24
- * @param hubSiteItemIds List of ids in itemIds that are for Hub Sites
25
- * @param authentication Credentials for the request
26
- * @param percentDone Percent done in range 0 to 100
27
- * @param progressPercentStep Amount that percentDone changes for each item deleted
28
- * @param solutionDeletedSummary Solution summary containing items successfully deleted
29
- * @param solutionFailureSummary Solution summary containing items that could not be deleted
30
- * @param deleteOptions Reporting options
31
- * @returns Promise that will resolve with a list of two solution summaries: successful deletions
32
- * and failed deletions. Ignored items (e.g., already deleted) will not be in either list.
33
- */
34
- export declare function removeItems(solutionSummary: ISolutionPrecis, hubSiteItemIds: string[], authentication: UserSession, percentDone: number, progressPercentStep: number, deleteOptions?: IDeleteSolutionOptions): Promise<ISolutionPrecis[]>;
@@ -1,112 +0,0 @@
1
- "use strict";
2
- /** @license
3
- * Copyright 2018 Esri
4
- *
5
- * Licensed under the Apache License, Version 2.0 (the "License");
6
- * you may not use this file except in compliance with the License.
7
- * You may obtain a copy of the License at
8
- *
9
- * http://www.apache.org/licenses/LICENSE-2.0
10
- *
11
- * Unless required by applicable law or agreed to in writing, software
12
- * distributed under the License is distributed on an "AS IS" BASIS,
13
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
- * See the License for the specific language governing permissions and
15
- * limitations under the License.
16
- */
17
- Object.defineProperty(exports, "__esModule", { value: true });
18
- exports.removeItems = void 0;
19
- const tslib_1 = require("tslib");
20
- /**
21
- * @module removeItems
22
- */
23
- const interfaces_1 = require("../interfaces");
24
- const reportProgress = tslib_1.__importStar(require("./reportProgress"));
25
- const hubSites = tslib_1.__importStar(require("@esri/hub-sites"));
26
- const portal = tslib_1.__importStar(require("@esri/arcgis-rest-portal"));
27
- const restHelpers = tslib_1.__importStar(require("../restHelpers"));
28
- const create_hub_request_options_1 = require("../create-hub-request-options");
29
- // ------------------------------------------------------------------------------------------------------------------ //
30
- /**
31
- * Removes a list of items starting from the end.
32
- *
33
- * @param itemIds List of ids of items to remove
34
- * @param hubSiteItemIds List of ids in itemIds that are for Hub Sites
35
- * @param authentication Credentials for the request
36
- * @param percentDone Percent done in range 0 to 100
37
- * @param progressPercentStep Amount that percentDone changes for each item deleted
38
- * @param solutionDeletedSummary Solution summary containing items successfully deleted
39
- * @param solutionFailureSummary Solution summary containing items that could not be deleted
40
- * @param deleteOptions Reporting options
41
- * @returns Promise that will resolve with a list of two solution summaries: successful deletions
42
- * and failed deletions. Ignored items (e.g., already deleted) will not be in either list.
43
- */
44
- function removeItems(solutionSummary, hubSiteItemIds, authentication, percentDone, progressPercentStep, deleteOptions = {}) {
45
- let solutionDeletedSummary;
46
- let solutionFailureSummary;
47
- const itemToDelete = solutionSummary.items.shift();
48
- const percentDoneReport = percentDone + progressPercentStep * (solutionSummary.items.length + 1);
49
- if (itemToDelete) {
50
- // On to next item in list
51
- return removeItems(solutionSummary, hubSiteItemIds, authentication, percentDone, progressPercentStep, deleteOptions)
52
- .then((results) => {
53
- // Done with subsequent items in list; now delete the current item
54
- [solutionDeletedSummary, solutionFailureSummary] = results;
55
- // Remove any delete protection on item
56
- return portal.unprotectItem({
57
- id: itemToDelete.id,
58
- authentication: authentication
59
- });
60
- })
61
- .then(async () => {
62
- // Delete the item
63
- if (hubSiteItemIds.includes(itemToDelete.id)) {
64
- const options = await (0, create_hub_request_options_1.createHubRequestOptions)(authentication);
65
- return hubSites.removeSite(itemToDelete.id, options);
66
- }
67
- else {
68
- return restHelpers.removeItem(itemToDelete.id, authentication);
69
- }
70
- })
71
- .then(() => {
72
- // Successful deletion
73
- solutionDeletedSummary.items.push(itemToDelete);
74
- reportProgress.reportProgress(percentDoneReport, deleteOptions, itemToDelete.id, interfaces_1.EItemProgressStatus.Finished);
75
- return [solutionDeletedSummary, solutionFailureSummary];
76
- })
77
- .catch(error => {
78
- const errorMessage = error.error?.message || error.message;
79
- if (errorMessage &&
80
- errorMessage.includes("Item does not exist or is inaccessible")) {
81
- // Filter out errors where the item doesn't exist, such as from a previous delete attempt
82
- reportProgress.reportProgress(percentDoneReport, deleteOptions, itemToDelete.id, interfaces_1.EItemProgressStatus.Ignored);
83
- }
84
- else {
85
- // Otherwise, we have a real delete error, including where AGO simply returns "success: false"
86
- solutionFailureSummary.items.push(itemToDelete);
87
- reportProgress.reportProgress(percentDoneReport, deleteOptions, itemToDelete.id, interfaces_1.EItemProgressStatus.Failed);
88
- }
89
- return [solutionDeletedSummary, solutionFailureSummary];
90
- });
91
- }
92
- else {
93
- // We've exhausted our list of items; start building up the lists of results
94
- solutionDeletedSummary = {
95
- id: solutionSummary.id,
96
- title: solutionSummary.title,
97
- folder: solutionSummary.folder,
98
- items: [],
99
- groups: []
100
- };
101
- solutionFailureSummary = {
102
- id: solutionSummary.id,
103
- title: solutionSummary.title,
104
- folder: solutionSummary.folder,
105
- items: [],
106
- groups: []
107
- };
108
- return Promise.resolve([solutionDeletedSummary, solutionFailureSummary]);
109
- }
110
- }
111
- exports.removeItems = removeItems;
112
- //# sourceMappingURL=removeItems.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"removeItems.js","sourceRoot":"","sources":["../../../src/deleteHelpers/removeItems.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- /** @license
2
- * Copyright 2018 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
- /**
17
- * @module reportProgress
18
- */
19
- import { EItemProgressStatus, IDeleteSolutionOptions } from "../interfaces";
20
- /**
21
- * Reports progress as specified via options.
22
- *
23
- * @param percentDone Percent done in range 0 to 100
24
- * @param deleteOptions Reporting options
25
- * @param deletedItemId Id of item deleted
26
- */
27
- export declare function reportProgress(percentDone: number, deleteOptions: IDeleteSolutionOptions, deletedItemId?: string, status?: EItemProgressStatus): void;