@esri/solution-common 3.0.0 → 3.1.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/esm/featureServiceHelpers.js +20 -2
  2. package/dist/esm/featureServiceHelpers.js.map +1 -1
  3. package/dist/esm/resourceHelpers.d.ts +3 -2
  4. package/dist/esm/resourceHelpers.js +4 -3
  5. package/dist/esm/resourceHelpers.js.map +1 -1
  6. package/dist/esm/resources/copyAssociatedFiles.d.ts +17 -2
  7. package/dist/esm/resources/copyAssociatedFiles.js +106 -42
  8. package/dist/esm/resources/copyAssociatedFiles.js.map +1 -1
  9. package/dist/esm/resources/copyResourceIntoZip.js +8 -1
  10. package/dist/esm/resources/copyResourceIntoZip.js.map +1 -1
  11. package/dist/esm/resources/getItemResourcesPaths.js +9 -2
  12. package/dist/esm/resources/getItemResourcesPaths.js.map +1 -1
  13. package/package.json +3 -3
  14. package/dist/node/completeItem.d.ts +0 -29
  15. package/dist/node/completeItem.js +0 -82
  16. package/dist/node/completeItem.js.map +0 -1
  17. package/dist/node/create-hub-request-options.d.ts +0 -29
  18. package/dist/node/create-hub-request-options.js +0 -64
  19. package/dist/node/create-hub-request-options.js.map +0 -1
  20. package/dist/node/deleteHelpers/deleteEmptyGroups.d.ts +0 -24
  21. package/dist/node/deleteHelpers/deleteEmptyGroups.js +0 -42
  22. package/dist/node/deleteHelpers/deleteEmptyGroups.js.map +0 -1
  23. package/dist/node/deleteHelpers/deleteGroupIfEmpty.d.ts +0 -27
  24. package/dist/node/deleteHelpers/deleteGroupIfEmpty.js +0 -97
  25. package/dist/node/deleteHelpers/deleteGroupIfEmpty.js.map +0 -1
  26. package/dist/node/deleteHelpers/deleteSolutionContents.d.ts +0 -38
  27. package/dist/node/deleteHelpers/deleteSolutionContents.js +0 -130
  28. package/dist/node/deleteHelpers/deleteSolutionContents.js.map +0 -1
  29. package/dist/node/deleteHelpers/deleteSolutionFolder.d.ts +0 -29
  30. package/dist/node/deleteHelpers/deleteSolutionFolder.js +0 -79
  31. package/dist/node/deleteHelpers/deleteSolutionFolder.js.map +0 -1
  32. package/dist/node/deleteHelpers/deleteSolutionItem.d.ts +0 -30
  33. package/dist/node/deleteHelpers/deleteSolutionItem.js +0 -54
  34. package/dist/node/deleteHelpers/deleteSolutionItem.js.map +0 -1
  35. package/dist/node/deleteHelpers/index.d.ts +0 -22
  36. package/dist/node/deleteHelpers/index.js +0 -26
  37. package/dist/node/deleteHelpers/index.js.map +0 -1
  38. package/dist/node/deleteHelpers/reconstructBuildOrderIds.d.ts +0 -27
  39. package/dist/node/deleteHelpers/reconstructBuildOrderIds.js +0 -34
  40. package/dist/node/deleteHelpers/reconstructBuildOrderIds.js.map +0 -1
  41. package/dist/node/deleteHelpers/removeItems.d.ts +0 -34
  42. package/dist/node/deleteHelpers/removeItems.js +0 -112
  43. package/dist/node/deleteHelpers/removeItems.js.map +0 -1
  44. package/dist/node/deleteHelpers/reportProgress.d.ts +0 -27
  45. package/dist/node/deleteHelpers/reportProgress.js +0 -46
  46. package/dist/node/deleteHelpers/reportProgress.js.map +0 -1
  47. package/dist/node/deleteSolution.d.ts +0 -55
  48. package/dist/node/deleteSolution.js +0 -107
  49. package/dist/node/deleteSolution.js.map +0 -1
  50. package/dist/node/dependencies.d.ts +0 -26
  51. package/dist/node/dependencies.js +0 -171
  52. package/dist/node/dependencies.js.map +0 -1
  53. package/dist/node/featureServiceHelpers.d.ts +0 -791
  54. package/dist/node/featureServiceHelpers.js +0 -2403
  55. package/dist/node/featureServiceHelpers.js.map +0 -1
  56. package/dist/node/generalHelpers.d.ts +0 -372
  57. package/dist/node/generalHelpers.js +0 -842
  58. package/dist/node/generalHelpers.js.map +0 -1
  59. package/dist/node/get-subscription-info.d.ts +0 -27
  60. package/dist/node/get-subscription-info.js +0 -39
  61. package/dist/node/get-subscription-info.js.map +0 -1
  62. package/dist/node/getDeletableSolutionInfo.d.ts +0 -29
  63. package/dist/node/getDeletableSolutionInfo.js +0 -53
  64. package/dist/node/getDeletableSolutionInfo.js.map +0 -1
  65. package/dist/node/getItemTypeAbbrev.d.ts +0 -19
  66. package/dist/node/getItemTypeAbbrev.js +0 -184
  67. package/dist/node/getItemTypeAbbrev.js.map +0 -1
  68. package/dist/node/getSolutionSummary.d.ts +0 -27
  69. package/dist/node/getSolutionSummary.js +0 -101
  70. package/dist/node/getSolutionSummary.js.map +0 -1
  71. package/dist/node/index.d.ts +0 -44
  72. package/dist/node/index.js +0 -48
  73. package/dist/node/index.js.map +0 -1
  74. package/dist/node/interfaces.d.ts +0 -1321
  75. package/dist/node/interfaces.js +0 -75
  76. package/dist/node/interfaces.js.map +0 -1
  77. package/dist/node/libConnectors.d.ts +0 -73
  78. package/dist/node/libConnectors.js +0 -115
  79. package/dist/node/libConnectors.js.map +0 -1
  80. package/dist/node/migrations/apply-schema.d.ts +0 -24
  81. package/dist/node/migrations/apply-schema.js +0 -36
  82. package/dist/node/migrations/apply-schema.js.map +0 -1
  83. package/dist/node/migrations/is-legacy-solution.d.ts +0 -24
  84. package/dist/node/migrations/is-legacy-solution.js +0 -40
  85. package/dist/node/migrations/is-legacy-solution.js.map +0 -1
  86. package/dist/node/migrations/upgrade-three-dot-one.d.ts +0 -27
  87. package/dist/node/migrations/upgrade-three-dot-one.js +0 -49
  88. package/dist/node/migrations/upgrade-three-dot-one.js.map +0 -1
  89. package/dist/node/migrations/upgrade-three-dot-zero.d.ts +0 -27
  90. package/dist/node/migrations/upgrade-three-dot-zero.js +0 -43
  91. package/dist/node/migrations/upgrade-three-dot-zero.js.map +0 -1
  92. package/dist/node/migrations/upgrade-two-dot-five.d.ts +0 -24
  93. package/dist/node/migrations/upgrade-two-dot-five.js +0 -73
  94. package/dist/node/migrations/upgrade-two-dot-five.js.map +0 -1
  95. package/dist/node/migrations/upgrade-two-dot-four.d.ts +0 -24
  96. package/dist/node/migrations/upgrade-two-dot-four.js +0 -72
  97. package/dist/node/migrations/upgrade-two-dot-four.js.map +0 -1
  98. package/dist/node/migrations/upgrade-two-dot-one.d.ts +0 -7
  99. package/dist/node/migrations/upgrade-two-dot-one.js +0 -39
  100. package/dist/node/migrations/upgrade-two-dot-one.js.map +0 -1
  101. package/dist/node/migrations/upgrade-two-dot-seven.d.ts +0 -23
  102. package/dist/node/migrations/upgrade-two-dot-seven.js +0 -58
  103. package/dist/node/migrations/upgrade-two-dot-seven.js.map +0 -1
  104. package/dist/node/migrations/upgrade-two-dot-six.d.ts +0 -27
  105. package/dist/node/migrations/upgrade-two-dot-six.js +0 -61
  106. package/dist/node/migrations/upgrade-two-dot-six.js.map +0 -1
  107. package/dist/node/migrations/upgrade-two-dot-three.d.ts +0 -23
  108. package/dist/node/migrations/upgrade-two-dot-three.js +0 -55
  109. package/dist/node/migrations/upgrade-two-dot-three.js.map +0 -1
  110. package/dist/node/migrations/upgrade-two-dot-two.d.ts +0 -23
  111. package/dist/node/migrations/upgrade-two-dot-two.js +0 -58
  112. package/dist/node/migrations/upgrade-two-dot-two.js.map +0 -1
  113. package/dist/node/migrations/upgrade-two-dot-zero.d.ts +0 -44
  114. package/dist/node/migrations/upgrade-two-dot-zero.js +0 -95
  115. package/dist/node/migrations/upgrade-two-dot-zero.js.map +0 -1
  116. package/dist/node/migrator.d.ts +0 -25
  117. package/dist/node/migrator.js +0 -77
  118. package/dist/node/migrator.js.map +0 -1
  119. package/dist/node/polyfills.d.ts +0 -40
  120. package/dist/node/polyfills.js +0 -98
  121. package/dist/node/polyfills.js.map +0 -1
  122. package/dist/node/resourceHelpers.d.ts +0 -190
  123. package/dist/node/resourceHelpers.js +0 -390
  124. package/dist/node/resourceHelpers.js.map +0 -1
  125. package/dist/node/resources/add-resource-from-blob.d.ts +0 -26
  126. package/dist/node/resources/add-resource-from-blob.js +0 -52
  127. package/dist/node/resources/add-resource-from-blob.js.map +0 -1
  128. package/dist/node/resources/addMetadataFromBlob.d.ts +0 -25
  129. package/dist/node/resources/addMetadataFromBlob.js +0 -43
  130. package/dist/node/resources/addMetadataFromBlob.js.map +0 -1
  131. package/dist/node/resources/convert-item-resource-to-storage-resource.d.ts +0 -32
  132. package/dist/node/resources/convert-item-resource-to-storage-resource.js +0 -70
  133. package/dist/node/resources/convert-item-resource-to-storage-resource.js.map +0 -1
  134. package/dist/node/resources/convert-storage-resource-to-item-resource.d.ts +0 -29
  135. package/dist/node/resources/convert-storage-resource-to-item-resource.js +0 -70
  136. package/dist/node/resources/convert-storage-resource-to-item-resource.js.map +0 -1
  137. package/dist/node/resources/copyAssociatedFiles.d.ts +0 -52
  138. package/dist/node/resources/copyAssociatedFiles.js +0 -237
  139. package/dist/node/resources/copyAssociatedFiles.js.map +0 -1
  140. package/dist/node/resources/copyDataIntoItem.d.ts +0 -33
  141. package/dist/node/resources/copyDataIntoItem.js +0 -63
  142. package/dist/node/resources/copyDataIntoItem.js.map +0 -1
  143. package/dist/node/resources/copyMetadataIntoItem.d.ts +0 -26
  144. package/dist/node/resources/copyMetadataIntoItem.js +0 -46
  145. package/dist/node/resources/copyMetadataIntoItem.js.map +0 -1
  146. package/dist/node/resources/copyResourceIntoZip.d.ts +0 -33
  147. package/dist/node/resources/copyResourceIntoZip.js +0 -71
  148. package/dist/node/resources/copyResourceIntoZip.js.map +0 -1
  149. package/dist/node/resources/copyZipIntoItem.d.ts +0 -25
  150. package/dist/node/resources/copyZipIntoItem.js +0 -54
  151. package/dist/node/resources/copyZipIntoItem.js.map +0 -1
  152. package/dist/node/resources/createCopyResults.d.ts +0 -25
  153. package/dist/node/resources/createCopyResults.js +0 -36
  154. package/dist/node/resources/createCopyResults.js.map +0 -1
  155. package/dist/node/resources/get-blob.d.ts +0 -26
  156. package/dist/node/resources/get-blob.js +0 -27
  157. package/dist/node/resources/get-blob.js.map +0 -1
  158. package/dist/node/resources/getItemResourcesFilesFromPaths.d.ts +0 -24
  159. package/dist/node/resources/getItemResourcesFilesFromPaths.js +0 -49
  160. package/dist/node/resources/getItemResourcesFilesFromPaths.js.map +0 -1
  161. package/dist/node/resources/getItemResourcesPaths.d.ts +0 -26
  162. package/dist/node/resources/getItemResourcesPaths.js +0 -66
  163. package/dist/node/resources/getItemResourcesPaths.js.map +0 -1
  164. package/dist/node/resources/index.d.ts +0 -29
  165. package/dist/node/resources/index.js +0 -33
  166. package/dist/node/resources/index.js.map +0 -1
  167. package/dist/node/resources/solution-resource.d.ts +0 -35
  168. package/dist/node/resources/solution-resource.js +0 -31
  169. package/dist/node/resources/solution-resource.js.map +0 -1
  170. package/dist/node/resources/transform-resource-paths-to-solution-resources.d.ts +0 -56
  171. package/dist/node/resources/transform-resource-paths-to-solution-resources.js +0 -146
  172. package/dist/node/resources/transform-resource-paths-to-solution-resources.js.map +0 -1
  173. package/dist/node/restHelpers.d.ts +0 -585
  174. package/dist/node/restHelpers.js +0 -1887
  175. package/dist/node/restHelpers.js.map +0 -1
  176. package/dist/node/restHelpersGet.d.ts +0 -288
  177. package/dist/node/restHelpersGet.js +0 -804
  178. package/dist/node/restHelpersGet.js.map +0 -1
  179. package/dist/node/sharing/index.d.ts +0 -16
  180. package/dist/node/sharing/index.js +0 -20
  181. package/dist/node/sharing/index.js.map +0 -1
  182. package/dist/node/sharing/share-item-to-groups.d.ts +0 -26
  183. package/dist/node/sharing/share-item-to-groups.js +0 -44
  184. package/dist/node/sharing/share-item-to-groups.js.map +0 -1
  185. package/dist/node/templatization.d.ts +0 -139
  186. package/dist/node/templatization.js +0 -314
  187. package/dist/node/templatization.js.map +0 -1
  188. package/dist/node/trackingHelpers.d.ts +0 -116
  189. package/dist/node/trackingHelpers.js +0 -217
  190. package/dist/node/trackingHelpers.js.map +0 -1
  191. package/dist/node/velocityHelpers.d.ts +0 -57
  192. package/dist/node/velocityHelpers.js +0 -135
  193. package/dist/node/velocityHelpers.js.map +0 -1
  194. package/dist/node/workforceHelpers.d.ts +0 -115
  195. package/dist/node/workforceHelpers.js +0 -747
  196. package/dist/node/workforceHelpers.js.map +0 -1
  197. package/dist/umd/common.umd.js +0 -15471
  198. package/dist/umd/common.umd.js.map +0 -1
  199. package/dist/umd/common.umd.min.js +0 -19
  200. package/dist/umd/common.umd.min.js.map +0 -1
  201. package/dist/umd/src/completeItem.d.ts +0 -29
  202. package/dist/umd/src/create-hub-request-options.d.ts +0 -29
  203. package/dist/umd/src/deleteHelpers/deleteEmptyGroups.d.ts +0 -24
  204. package/dist/umd/src/deleteHelpers/deleteGroupIfEmpty.d.ts +0 -27
  205. package/dist/umd/src/deleteHelpers/deleteSolutionContents.d.ts +0 -38
  206. package/dist/umd/src/deleteHelpers/deleteSolutionFolder.d.ts +0 -29
  207. package/dist/umd/src/deleteHelpers/deleteSolutionItem.d.ts +0 -30
  208. package/dist/umd/src/deleteHelpers/index.d.ts +0 -22
  209. package/dist/umd/src/deleteHelpers/reconstructBuildOrderIds.d.ts +0 -27
  210. package/dist/umd/src/deleteHelpers/removeItems.d.ts +0 -34
  211. package/dist/umd/src/deleteHelpers/reportProgress.d.ts +0 -27
  212. package/dist/umd/src/deleteSolution.d.ts +0 -55
  213. package/dist/umd/src/dependencies.d.ts +0 -26
  214. package/dist/umd/src/featureServiceHelpers.d.ts +0 -791
  215. package/dist/umd/src/generalHelpers.d.ts +0 -372
  216. package/dist/umd/src/get-subscription-info.d.ts +0 -27
  217. package/dist/umd/src/getDeletableSolutionInfo.d.ts +0 -29
  218. package/dist/umd/src/getItemTypeAbbrev.d.ts +0 -19
  219. package/dist/umd/src/getSolutionSummary.d.ts +0 -27
  220. package/dist/umd/src/index.d.ts +0 -44
  221. package/dist/umd/src/interfaces.d.ts +0 -1321
  222. package/dist/umd/src/libConnectors.d.ts +0 -73
  223. package/dist/umd/src/migrations/apply-schema.d.ts +0 -24
  224. package/dist/umd/src/migrations/is-legacy-solution.d.ts +0 -24
  225. package/dist/umd/src/migrations/upgrade-three-dot-one.d.ts +0 -27
  226. package/dist/umd/src/migrations/upgrade-three-dot-zero.d.ts +0 -27
  227. package/dist/umd/src/migrations/upgrade-two-dot-five.d.ts +0 -24
  228. package/dist/umd/src/migrations/upgrade-two-dot-four.d.ts +0 -24
  229. package/dist/umd/src/migrations/upgrade-two-dot-one.d.ts +0 -7
  230. package/dist/umd/src/migrations/upgrade-two-dot-seven.d.ts +0 -23
  231. package/dist/umd/src/migrations/upgrade-two-dot-six.d.ts +0 -27
  232. package/dist/umd/src/migrations/upgrade-two-dot-three.d.ts +0 -23
  233. package/dist/umd/src/migrations/upgrade-two-dot-two.d.ts +0 -23
  234. package/dist/umd/src/migrations/upgrade-two-dot-zero.d.ts +0 -44
  235. package/dist/umd/src/migrator.d.ts +0 -25
  236. package/dist/umd/src/polyfills.d.ts +0 -40
  237. package/dist/umd/src/resourceHelpers.d.ts +0 -190
  238. package/dist/umd/src/resources/add-resource-from-blob.d.ts +0 -26
  239. package/dist/umd/src/resources/addMetadataFromBlob.d.ts +0 -25
  240. package/dist/umd/src/resources/convert-item-resource-to-storage-resource.d.ts +0 -32
  241. package/dist/umd/src/resources/convert-storage-resource-to-item-resource.d.ts +0 -29
  242. package/dist/umd/src/resources/copyAssociatedFiles.d.ts +0 -52
  243. package/dist/umd/src/resources/copyDataIntoItem.d.ts +0 -33
  244. package/dist/umd/src/resources/copyMetadataIntoItem.d.ts +0 -26
  245. package/dist/umd/src/resources/copyResourceIntoZip.d.ts +0 -33
  246. package/dist/umd/src/resources/copyZipIntoItem.d.ts +0 -25
  247. package/dist/umd/src/resources/createCopyResults.d.ts +0 -25
  248. package/dist/umd/src/resources/get-blob.d.ts +0 -26
  249. package/dist/umd/src/resources/getItemResourcesFilesFromPaths.d.ts +0 -24
  250. package/dist/umd/src/resources/getItemResourcesPaths.d.ts +0 -26
  251. package/dist/umd/src/resources/index.d.ts +0 -29
  252. package/dist/umd/src/resources/solution-resource.d.ts +0 -35
  253. package/dist/umd/src/resources/transform-resource-paths-to-solution-resources.d.ts +0 -56
  254. package/dist/umd/src/restHelpers.d.ts +0 -585
  255. package/dist/umd/src/restHelpersGet.d.ts +0 -288
  256. package/dist/umd/src/sharing/index.d.ts +0 -16
  257. package/dist/umd/src/sharing/share-item-to-groups.d.ts +0 -26
  258. package/dist/umd/src/templatization.d.ts +0 -139
  259. package/dist/umd/src/trackingHelpers.d.ts +0 -116
  260. package/dist/umd/src/velocityHelpers.d.ts +0 -57
  261. package/dist/umd/src/workforceHelpers.d.ts +0 -115
@@ -1,390 +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.updateItemResourceText = exports.updateItemResourceFile = exports.removeItemResourceFile = exports.getThumbnailFromStorageItem = exports.isSupportedFileType = exports.generateThumbnailStorageFilename = exports.generateStorageFilePaths = exports.generateSourceThumbnailUrl = exports.generateSourceResourceUrl = exports.generateSourceMetadataUrl = exports.generateSourceFilePaths = exports.generateMetadataStorageFilename = exports.copyFilesToStorageItem = exports.copyFilesFromStorageItem = exports.convertBlobToSupportableResource = exports.addThumbnailFromBlob = void 0;
19
- /**
20
- * Provides common functions involving the management of item and group resources.
21
- *
22
- * @module resourceHelpers
23
- *
24
- * How it works
25
- *
26
- * An item may have resources that are listed as a set of filenames and/or folder/filename combinations. It may have
27
- * a thumbnail, listed in its item info as a filename or folder/filename combination. It may have metadata, which is
28
- * not listed, but has a distinct URL. A group may have a thumbnail, but not the others.
29
- *
30
- * For storing these files in a common storage item, a new folder and filename combination is created for each. The
31
- * filename is kept as-is. The folder consists of the source item's id and an optional suffix. For thumbnails, the
32
- * suffix is "_info_thumbnail"; for metadata, the suffix is "_info_metadata"; for resources, the suffix is "_" plus
33
- * the resource's folder's name; if the resource doesn't have a folder, there is no suffix.
34
- *
35
- * Note that "thumbnail" is included in an item's thumbnail property like a folder (e.g., "thumbnail/thumbnail.png"),
36
- * and the item's thumbnail is accessed using a path such as "%lt;itemId>/info/thumbnail/thumbnail.png". Groups,
37
- * on the other hand, have a property with a simple name (e.g., "thumbnail.png") and it is accessed using a path
38
- * such as "%lt;groupId>/info/thumbnail.png".
39
- *
40
- * For copying these files from the common storage item to another item, one converts the unique names back into the
41
- * original names (or the special cases for thumbnails and metadata).
42
- *
43
- * Routines are provided to
44
- * 1. create full URLs to resources, thumbnails, and metadata.
45
- * 2. create a folder and filename combination that uniquely identifies these files for
46
- * storing them in a single, shared storage item
47
- * 3. copy a set of resources, thumbnails, and metadata for an item to a storage item
48
- * 4. copy a file by URL to an item using specified folder and filename
49
- * 5. undo the unique folder and filename into the original folder and filename
50
- */
51
- const interfaces_1 = require("./interfaces");
52
- const polyfills_1 = require("./polyfills");
53
- const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
54
- const generalHelpers_1 = require("./generalHelpers");
55
- const convert_item_resource_to_storage_resource_1 = require("./resources/convert-item-resource-to-storage-resource");
56
- const convert_storage_resource_to_item_resource_1 = require("./resources/convert-storage-resource-to-item-resource");
57
- const restHelpersGet_1 = require("./restHelpersGet");
58
- const copyAssociatedFiles_1 = require("./resources/copyAssociatedFiles");
59
- // ------------------------------------------------------------------------------------------------------------------ //
60
- function addThumbnailFromBlob(blob, itemId, authentication, isGroup = false) {
61
- const updateOptions = {
62
- params: {
63
- // Pass image in directly because item object is serialized, which discards a blob
64
- thumbnail: blob
65
- },
66
- authentication: authentication
67
- };
68
- updateOptions[isGroup ? "group" : "item"] = {
69
- id: itemId
70
- };
71
- return isGroup ? (0, arcgis_rest_portal_1.updateGroup)(updateOptions) : (0, arcgis_rest_portal_1.updateItem)(updateOptions);
72
- }
73
- exports.addThumbnailFromBlob = addThumbnailFromBlob;
74
- function convertBlobToSupportableResource(blob, filename = "") {
75
- const originalFilename = blob.name || filename;
76
- let filenameToUse = originalFilename;
77
- if (filenameToUse && !isSupportedFileType(filenameToUse)) {
78
- filenameToUse = filenameToUse + ".zip";
79
- }
80
- return {
81
- blob: (0, polyfills_1.new_File)([blob], filenameToUse, { type: blob.type }),
82
- filename: originalFilename,
83
- mimeType: blob.type
84
- };
85
- }
86
- exports.convertBlobToSupportableResource = convertBlobToSupportableResource;
87
- /**
88
- * Copies the files described by a list of full URLs and folder/filename combinations for
89
- * the resources and metadata of an item or group to an item.
90
- *
91
- * @param storageAuthentication Credentials for the request to the storage
92
- * @param filePaths List of item files' URLs and folder/filenames for storing the files
93
- * @param destinationFolderId Id of folder
94
- * @param destinationItemId Id of item to receive copy of resource/metadata
95
- * @param destinationAuthentication Credentials for the request to the destination
96
- * @param template Template for using its itemId and properties for fine-tuning the filename for Hub
97
- * @returns A promise which resolves to a boolean indicating if the copies were successful
98
- */
99
- function copyFilesFromStorageItem(storageAuthentication, filePaths, destinationFolderId, destinationItemId, destinationAuthentication, template = {}) {
100
- // TODO: This is only used in deployer, so move there
101
- // changed to allow the template to be passed in
102
- // because Hub templates need to swap out the templateId
103
- // in the resource filename
104
- const mimeTypes = template.properties || null;
105
- // remove the template.itemId from the fileName in the filePaths
106
- /* istanbul ignore else */
107
- if (template.itemId) {
108
- filePaths = filePaths.map(fp => {
109
- /* istanbul ignore else */
110
- if (fp.filename.indexOf(template.itemId) === 0 && fp.folder === "") {
111
- fp.filename = fp.filename.replace(`${template.itemId}-`, "");
112
- }
113
- return fp;
114
- });
115
- }
116
- return new Promise((resolve, reject) => {
117
- const fileInfos = filePaths.map(path => {
118
- return {
119
- folder: path.type === interfaces_1.EFileType.Data ? destinationFolderId : path.folder,
120
- filename: path.filename,
121
- type: path.type,
122
- mimeType: mimeTypes ? mimeTypes[path.filename] : "",
123
- url: path.url
124
- };
125
- });
126
- void (0, copyAssociatedFiles_1.copyAssociatedFilesByType)(fileInfos, storageAuthentication, destinationItemId, destinationAuthentication).then((results) => {
127
- const allOK = results
128
- // Filter out metadata
129
- .filter((result) => result.filename !== "metadata.xml")
130
- // Extract success
131
- .map((result) => result.fetchedFromSource && result.copiedToDestination)
132
- // Boil it down to a single result
133
- .reduce((success, currentValue) => success && currentValue, true);
134
- if (allOK) {
135
- resolve(true);
136
- }
137
- else {
138
- reject();
139
- }
140
- });
141
- });
142
- }
143
- exports.copyFilesFromStorageItem = copyFilesFromStorageItem;
144
- /**
145
- * Copies the files for storing the resources, metadata, and thumbnail of an item or group to a storage item
146
- * with a specified path.
147
- *
148
- * @param files List of item files and paths for storing the files
149
- * @param storageItemId Id of item to receive copy of resource/metadata
150
- * @param storageAuthentication Credentials for the request to the storage
151
- * @returns A promise which resolves to a list of the filenames under which the resource/metadata are stored
152
- */
153
- function copyFilesToStorageItem(files, storageItemId, storageAuthentication) {
154
- return new Promise(resolve => {
155
- // tslint:disable-next-line: no-floating-promises
156
- void (0, copyAssociatedFiles_1.copyFilesAsResources)(files, storageItemId, storageAuthentication).then((results) => {
157
- resolve(results
158
- // Filter out failures
159
- .filter((result) => result.fetchedFromSource && result.copiedToDestination)
160
- // Return folder and filename in storage item's resources
161
- .map((result) => result.folder + "/" + result.filename));
162
- });
163
- });
164
- }
165
- exports.copyFilesToStorageItem = copyFilesToStorageItem;
166
- /**
167
- * Generates a folder and filename for storing a copy of an item's metadata in a storage item.
168
- *
169
- * @param itemId Id of item
170
- * @returns Folder and filename for storage; folder is the itemID suffixed with "_info_metadata"
171
- * @see convertStorageResourceToItemResource
172
- */
173
- function generateMetadataStorageFilename(itemId) {
174
- return {
175
- folder: itemId + "_info_metadata",
176
- filename: "metadata.xml"
177
- };
178
- }
179
- exports.generateMetadataStorageFilename = generateMetadataStorageFilename;
180
- /**
181
- * Generates a list of full URLs and storage folder/filename combinations for storing the resources, metadata,
182
- * and thumbnail of an item.
183
- *
184
- * @param portalSharingUrl Server/sharing
185
- * @param itemId Id of item
186
- * @param thumbnailUrlPart Partial path to the thumbnail held in an item's JSON
187
- * @param resourceFilenames List of resource filenames for an item, e.g., ["file1", "myFolder/file2"]
188
- * @param isGroup Boolean to indicate if the files are associated with a group or item
189
- * @param storageVersion Version of the Solution template
190
- * @returns List of item files' URLs and folder/filenames for storing the files
191
- */
192
- function generateSourceFilePaths(portalSharingUrl, itemId, thumbnailUrlPart, resourceFilenames, isGroup = false, storageVersion = 0) {
193
- const filePaths = resourceFilenames.map(resourceFilename => {
194
- return {
195
- itemId,
196
- url: generateSourceResourceUrl(portalSharingUrl, itemId, resourceFilename),
197
- ...(0, convert_item_resource_to_storage_resource_1.convertItemResourceToStorageResource)(itemId, resourceFilename, storageVersion)
198
- };
199
- });
200
- filePaths.push({
201
- itemId,
202
- url: generateSourceMetadataUrl(portalSharingUrl, itemId, isGroup),
203
- ...generateMetadataStorageFilename(itemId)
204
- });
205
- /* istanbul ignore else */
206
- if (thumbnailUrlPart) {
207
- const path = {
208
- itemId,
209
- url: (0, generalHelpers_1.appendQueryParam)(generateSourceThumbnailUrl(portalSharingUrl, itemId, thumbnailUrlPart, isGroup), "w=400"),
210
- ...generateThumbnailStorageFilename(itemId, thumbnailUrlPart)
211
- };
212
- filePaths.push(path);
213
- }
214
- return filePaths;
215
- }
216
- exports.generateSourceFilePaths = generateSourceFilePaths;
217
- /**
218
- * Generates the URL for reading an item's metadata.
219
- *
220
- * @param sourcePortalSharingUrl Server/sharing
221
- * @param itemId Id of item
222
- * @param isGroup Boolean to indicate if the files are associated with a group or item
223
- * @returns URL string
224
- */
225
- function generateSourceMetadataUrl(sourcePortalSharingUrl, itemId, isGroup = false) {
226
- return ((0, generalHelpers_1.checkUrlPathTermination)(sourcePortalSharingUrl) +
227
- (isGroup ? "community/groups/" : "content/items/") +
228
- itemId +
229
- "/info/metadata/metadata.xml");
230
- }
231
- exports.generateSourceMetadataUrl = generateSourceMetadataUrl;
232
- /**
233
- * Generates the URL for reading an item's resource given the filename of the resource.
234
- *
235
- * @param sourcePortalSharingUrl Server/sharing
236
- * @param itemId Id of item
237
- * @param sourceResourceFilename Either filename or folder/filename to resource
238
- * @returns URL string
239
- */
240
- function generateSourceResourceUrl(sourcePortalSharingUrl, itemId, sourceResourceFilename) {
241
- return ((0, generalHelpers_1.checkUrlPathTermination)(sourcePortalSharingUrl) +
242
- "content/items/" +
243
- itemId +
244
- "/resources/" +
245
- sourceResourceFilename);
246
- }
247
- exports.generateSourceResourceUrl = generateSourceResourceUrl;
248
- /**
249
- * Generates the URL for reading an item's thumbnail.
250
- *
251
- * @param sourcePortalSharingUrl Server/sharing
252
- * @param itemId Id of item
253
- * @param thumbnailUrlPart Partial path to the thumbnail held in an item's JSON
254
- * @param isGroup Boolean to indicate if the files are associated with a group or item
255
- * @returns URL string
256
- */
257
- function generateSourceThumbnailUrl(sourcePortalSharingUrl, itemId, thumbnailUrlPart, isGroup = false) {
258
- return ((0, generalHelpers_1.checkUrlPathTermination)(sourcePortalSharingUrl) +
259
- (isGroup ? "community/groups/" : "content/items/") +
260
- itemId +
261
- "/info/" +
262
- thumbnailUrlPart);
263
- }
264
- exports.generateSourceThumbnailUrl = generateSourceThumbnailUrl;
265
- /**
266
- * Generates a list of full URLs and folder/filename combinations used to store the resources, metadata,
267
- * and thumbnail of an item.
268
- *
269
- * @param portalSharingUrl Server/sharing
270
- * @param storageItemId Id of storage item
271
- * @param resourceFilenames List of resource filenames for an item, e.g., ["file1", "myFolder/file2"]
272
- * @param storageVersion Version of the Solution template
273
- * @returns List of item files' URLs and folder/filenames for storing the files
274
- */
275
- function generateStorageFilePaths(portalSharingUrl, storageItemId, resourceFilenames = [], storageVersion = 0) {
276
- return resourceFilenames.map(resourceFilename => {
277
- return {
278
- url: generateSourceResourceUrl(portalSharingUrl, storageItemId, resourceFilename),
279
- ...(0, convert_storage_resource_to_item_resource_1.convertStorageResourceToItemResource)(resourceFilename, storageVersion)
280
- };
281
- });
282
- }
283
- exports.generateStorageFilePaths = generateStorageFilePaths;
284
- /**
285
- * Generates a folder and filename for storing a copy of an item's thumbnail in a storage item.
286
- *
287
- * @param itemId Id of item
288
- * @param thumbnailUrlPart Partial path to the thumbnail held in an item's JSON; can also be a filename
289
- * @returns Folder and filename for storage; folder is the itemID suffixed with "_info_thumbnail";
290
- * file is URI-encoded thumbnailUrlPart
291
- * @see convertStorageResourceToItemResource
292
- */
293
- function generateThumbnailStorageFilename(itemId, thumbnailurl) {
294
- const folder = itemId + "_info_thumbnail";
295
- const thumbnailUrlParts = thumbnailurl.split("/");
296
- const filename = thumbnailUrlParts.length === 1
297
- ? thumbnailUrlParts[0]
298
- : thumbnailUrlParts[1];
299
- return { folder, filename };
300
- }
301
- exports.generateThumbnailStorageFilename = generateThumbnailStorageFilename;
302
- function isSupportedFileType(filename) {
303
- // Supported file formats are: .json, .xml, .txt, .png, .pbf, .zip, .jpeg, .jpg, .gif, .bmp, .gz, .svg,
304
- // .svgz, .geodatabase (https://developers.arcgis.com/rest/users-groups-and-items/add-resources.htm)
305
- const filenameExtension = filename.match(/\.([a-z]+)$/i);
306
- const supportedExtensions = "|.json|.xml|.txt|.png|.pbf|.zip|.jpeg|.jpg|.gif|.bmp|.gz|.svg|.svgz|.geodatabase|";
307
- return (!!filenameExtension &&
308
- supportedExtensions.indexOf("|" + filenameExtension[0] + "|") >= 0);
309
- }
310
- exports.isSupportedFileType = isSupportedFileType;
311
- /**
312
- * Gets the thumbnail of an item or group.
313
- *
314
- * @param authentication Credentials for the request to the storage
315
- * @param filePaths List of item files' URLs and folder/filenames for storing the files
316
- * @returns A promise which resolves to a boolean indicating if the copies were successful
317
- */
318
- function getThumbnailFromStorageItem(authentication, filePaths) {
319
- let thumbnailUrl;
320
- let thumbnailFilename;
321
- filePaths.forEach(path => {
322
- if (path.type === interfaces_1.EFileType.Thumbnail) {
323
- thumbnailUrl = path.url;
324
- thumbnailFilename = path.filename;
325
- }
326
- });
327
- if (!thumbnailUrl) {
328
- return Promise.resolve(null);
329
- }
330
- return (0, restHelpersGet_1.getThumbnailFile)(thumbnailUrl, thumbnailFilename, authentication);
331
- }
332
- exports.getThumbnailFromStorageItem = getThumbnailFromStorageItem;
333
- /**
334
- * Removes the item's resource that matches the filename with new content
335
- *
336
- * @param itemId Id of the item to remove
337
- * @param filename Name of the resource file to remove
338
- * @param authentication Credentials for the request to the storage
339
- * @returns A promise which resolves with a success true/false response
340
- */
341
- function removeItemResourceFile(itemId, filename, authentication) {
342
- return (0, arcgis_rest_portal_1.removeItemResource)({
343
- id: itemId,
344
- resource: filename,
345
- authentication: authentication
346
- });
347
- }
348
- exports.removeItemResourceFile = removeItemResourceFile;
349
- /**
350
- * Updates the item's resource that matches the filename with new content
351
- *
352
- * @param itemId Id of the item to update
353
- * @param filename Name of the resource file to update; prefix optional (e.g., a/b/file.txt)
354
- * @param resource The new content to update the resource with
355
- * @param authentication Credentials for the request to the storage
356
- * @returns A promise which resolves with a success true/false response
357
- */
358
- function updateItemResourceFile(itemId, filename, resource, authentication) {
359
- // Prefix has to be specified separately
360
- const prefixedFilenameParts = filename.split("/");
361
- const prefix = prefixedFilenameParts.length > 1 ? prefixedFilenameParts.slice(0, prefixedFilenameParts.length - 1).join("/") : undefined;
362
- const suffix = prefixedFilenameParts[prefixedFilenameParts.length - 1];
363
- return (0, arcgis_rest_portal_1.updateItemResource)({
364
- id: itemId,
365
- prefix: prefix,
366
- name: suffix,
367
- resource,
368
- authentication: authentication
369
- });
370
- }
371
- exports.updateItemResourceFile = updateItemResourceFile;
372
- /**
373
- * Updates the item's resource that matches the filename with new content
374
- *
375
- * @param itemId Id of the item to update
376
- * @param filename Name of the resource file to update
377
- * @param content The new content to update the resource with
378
- * @param authentication Credentials for the request to the storage
379
- * @returns A promise which resolves with a success true/false response
380
- */
381
- function updateItemResourceText(itemId, filename, content, authentication) {
382
- return (0, arcgis_rest_portal_1.updateItemResource)({
383
- id: itemId,
384
- name: filename,
385
- content: content,
386
- authentication: authentication
387
- });
388
- }
389
- exports.updateItemResourceText = updateItemResourceText;
390
- //# sourceMappingURL=resourceHelpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resourceHelpers.js","sourceRoot":"","sources":["../../src/resourceHelpers.ts"],"names":[],"mappings":"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"}
@@ -1,26 +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
- import { UserSession } from "../interfaces";
17
- /**
18
- * Add a resource from a blob
19
- *
20
- * @param blob
21
- * @param itemId
22
- * @param folder
23
- * @param filename
24
- * @param authentication
25
- */
26
- export declare function addResourceFromBlob(blob: any, itemId: string, folder: string, filename: string, authentication: UserSession): Promise<any>;
@@ -1,52 +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.addResourceFromBlob = void 0;
19
- const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
20
- const arcgis_rest_request_1 = require("@esri/arcgis-rest-request");
21
- /**
22
- * Add a resource from a blob
23
- *
24
- * @param blob
25
- * @param itemId
26
- * @param folder
27
- * @param filename
28
- * @param authentication
29
- */
30
- function addResourceFromBlob(blob, itemId, folder, filename, authentication) {
31
- // Check that the filename has an extension because it is required by the addResources call
32
- if (filename && filename.indexOf(".") < 0) {
33
- return new Promise((resolve, reject) => {
34
- reject(new arcgis_rest_request_1.ArcGISAuthError("Filename must have an extension indicating its type"));
35
- });
36
- }
37
- const addRsrcOptions = {
38
- id: itemId,
39
- resource: blob,
40
- name: filename,
41
- authentication: authentication,
42
- params: {}
43
- };
44
- if (folder) {
45
- addRsrcOptions.params = {
46
- resourcesPrefix: folder
47
- };
48
- }
49
- return (0, arcgis_rest_portal_1.addItemResource)(addRsrcOptions);
50
- }
51
- exports.addResourceFromBlob = addResourceFromBlob;
52
- //# sourceMappingURL=add-resource-from-blob.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"add-resource-from-blob.js","sourceRoot":"","sources":["../../../src/resources/add-resource-from-blob.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,iEAA2D;AAC3D,mEAA4D;AAE5D;;;;;;;;GAQG;AACH,SAAgB,mBAAmB,CACjC,IAAS,EACT,MAAc,EACd,MAAc,EACd,QAAgB,EAChB,cAA2B;IAE3B,2FAA2F;IAC3F,IAAI,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;QACzC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,CACJ,IAAI,qCAAe,CACjB,qDAAqD,CACtD,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;KACJ;IAED,MAAM,cAAc,GAAG;QACrB,EAAE,EAAE,MAAM;QACV,QAAQ,EAAE,IAAI;QACd,IAAI,EAAE,QAAQ;QACd,cAAc,EAAE,cAAc;QAC9B,MAAM,EAAE,EAAE;KACX,CAAC;IACF,IAAI,MAAM,EAAE;QACV,cAAc,CAAC,MAAM,GAAG;YACtB,eAAe,EAAE,MAAM;SACxB,CAAC;KACH;IACD,OAAO,IAAA,oCAAe,EAAC,cAAc,CAAC,CAAC;AACzC,CAAC;AA/BD,kDA+BC"}
@@ -1,25 +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
- import { UserSession } from "../interfaces";
17
- /**
18
- * Adds metadata to an AGO item.
19
- *
20
- * @param blob Blob containing metadata
21
- * @param itemId Item to receive metadata
22
- * @param authentication Credentials for the request
23
- * @returns Promise resolving to JSON containing success boolean
24
- */
25
- export declare function addMetadataFromBlob(blob: Blob, itemId: string, authentication: UserSession): Promise<any>;
@@ -1,43 +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.addMetadataFromBlob = void 0;
19
- const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
20
- // ------------------------------------------------------------------------------------------------------------------ //
21
- /**
22
- * Adds metadata to an AGO item.
23
- *
24
- * @param blob Blob containing metadata
25
- * @param itemId Item to receive metadata
26
- * @param authentication Credentials for the request
27
- * @returns Promise resolving to JSON containing success boolean
28
- */
29
- function addMetadataFromBlob(blob, itemId, authentication) {
30
- const updateOptions = {
31
- item: {
32
- id: itemId
33
- },
34
- params: {
35
- // Pass metadata in via params because item property is serialized, which discards a blob
36
- metadata: blob
37
- },
38
- authentication: authentication
39
- };
40
- return (0, arcgis_rest_portal_1.updateItem)(updateOptions);
41
- }
42
- exports.addMetadataFromBlob = addMetadataFromBlob;
43
- //# sourceMappingURL=addMetadataFromBlob.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"addMetadataFromBlob.js","sourceRoot":"","sources":["../../../src/resources/addMetadataFromBlob.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAGH,iEAAsD;AAEtD,wHAAwH;AAExH;;;;;;;GAOG;AACH,SAAgB,mBAAmB,CACjC,IAAU,EACV,MAAc,EACd,cAA2B;IAE3B,MAAM,aAAa,GAAQ;QACzB,IAAI,EAAE;YACJ,EAAE,EAAE,MAAM;SACX;QACD,MAAM,EAAE;YACN,yFAAyF;YACzF,QAAQ,EAAE,IAAI;SACf;QACD,cAAc,EAAE,cAAc;KAC/B,CAAC;IACF,OAAO,IAAA,+BAAU,EAAC,aAAa,CAAC,CAAC;AACnC,CAAC;AAhBD,kDAgBC"}
@@ -1,32 +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
- import { SolutionResourceType } from "./solution-resource";
17
- /**
18
- * Generates a folder and filename for storing a copy of an item's resource in a storage item.
19
- *
20
- * @param prefix Base prefix for resource
21
- * @param sourceResourceFilename Either filename or folder/filename to resource
22
- * @param storageVersion Version of the Solution template
23
- * @param storageFileType Optional argument that when supplied will control the how the prefix is created
24
- * @returns Folder and filename for storage; folder is the itemID plus ("_" + storageFolder) if storageFolder
25
- * exists plus ("_" + part of sourceResourceFilename before "/" if that separator exists);
26
- * file is sourceResourceFilename
27
- * @see convertStorageResourceToItemResource
28
- */
29
- export declare function convertItemResourceToStorageResource(prefix: string, sourceResourceFilename: string, storageVersion?: number, storageFileType?: SolutionResourceType): {
30
- folder: string;
31
- filename: string;
32
- };
@@ -1,70 +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
- exports.convertItemResourceToStorageResource = void 0;
19
- const solution_resource_1 = require("./solution-resource");
20
- /**
21
- * Generates a folder and filename for storing a copy of an item's resource in a storage item.
22
- *
23
- * @param prefix Base prefix for resource
24
- * @param sourceResourceFilename Either filename or folder/filename to resource
25
- * @param storageVersion Version of the Solution template
26
- * @param storageFileType Optional argument that when supplied will control the how the prefix is created
27
- * @returns Folder and filename for storage; folder is the itemID plus ("_" + storageFolder) if storageFolder
28
- * exists plus ("_" + part of sourceResourceFilename before "/" if that separator exists);
29
- * file is sourceResourceFilename
30
- * @see convertStorageResourceToItemResource
31
- */
32
- function convertItemResourceToStorageResource(prefix, sourceResourceFilename, storageVersion = 0, storageFileType) {
33
- /* istanbul ignore else */
34
- if (storageFileType !== undefined) {
35
- switch (storageFileType) {
36
- case solution_resource_1.SolutionResourceType.data:
37
- prefix = `${prefix}_info_data`;
38
- break;
39
- case solution_resource_1.SolutionResourceType.fakezip:
40
- prefix = `${prefix}_info_dataz`;
41
- break;
42
- case solution_resource_1.SolutionResourceType.info:
43
- prefix = `${prefix}_info`;
44
- break;
45
- case solution_resource_1.SolutionResourceType.metadata:
46
- prefix = `${prefix}_info_metadata`;
47
- break;
48
- case solution_resource_1.SolutionResourceType.thumbnail:
49
- prefix = `${prefix}_info_thumbnail`;
50
- break;
51
- }
52
- }
53
- let folder = prefix;
54
- let filename = sourceResourceFilename;
55
- const iLastSlash = filename.lastIndexOf("/");
56
- if (iLastSlash >= 0) {
57
- let subpath = filename.substr(0, iLastSlash);
58
- if (storageVersion === 0) {
59
- subpath = subpath.replace("/", "_");
60
- folder += "_" + subpath;
61
- }
62
- else {
63
- folder += "/" + subpath;
64
- }
65
- filename = filename.substr(iLastSlash + 1);
66
- }
67
- return { folder, filename };
68
- }
69
- exports.convertItemResourceToStorageResource = convertItemResourceToStorageResource;
70
- //# sourceMappingURL=convert-item-resource-to-storage-resource.js.map