@esri/hub-common 15.31.2 → 15.31.4

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 (401) hide show
  1. package/dist/esm/channels/HubChannel.js +173 -0
  2. package/dist/esm/channels/HubChannel.js.map +1 -0
  3. package/dist/esm/channels/_internal/ChannelBusinessRules.js +39 -0
  4. package/dist/esm/channels/_internal/ChannelBusinessRules.js.map +1 -0
  5. package/dist/esm/channels/_internal/ChannelSchema.js +198 -0
  6. package/dist/esm/channels/_internal/ChannelSchema.js.map +1 -0
  7. package/dist/esm/channels/_internal/ChannelUiSchemaCreate.js +288 -0
  8. package/dist/esm/channels/_internal/ChannelUiSchemaCreate.js.map +1 -0
  9. package/dist/esm/channels/_internal/ChannelUiSchemaEdit.js +20 -0
  10. package/dist/esm/channels/_internal/ChannelUiSchemaEdit.js.map +1 -0
  11. package/dist/esm/channels/_internal/buildDefaultChannel.js +26 -0
  12. package/dist/esm/channels/_internal/buildDefaultChannel.js.map +1 -0
  13. package/dist/esm/channels/_internal/transformAclPermissionToEntityPermissionPolicy.js +49 -0
  14. package/dist/esm/channels/_internal/transformAclPermissionToEntityPermissionPolicy.js.map +1 -0
  15. package/dist/esm/channels/_internal/transformChannelToEntity.js +61 -0
  16. package/dist/esm/channels/_internal/transformChannelToEntity.js.map +1 -0
  17. package/dist/esm/channels/_internal/transformEditorToEntity.js +22 -0
  18. package/dist/esm/channels/_internal/transformEditorToEntity.js.map +1 -0
  19. package/dist/esm/channels/_internal/transformEntityPermissionPoliciesToFormValues.js +150 -0
  20. package/dist/esm/channels/_internal/transformEntityPermissionPoliciesToFormValues.js.map +1 -0
  21. package/dist/esm/channels/_internal/transformEntityToChannelData.js +69 -0
  22. package/dist/esm/channels/_internal/transformEntityToChannelData.js.map +1 -0
  23. package/dist/esm/channels/_internal/transformEntityToEditor.js +20 -0
  24. package/dist/esm/channels/_internal/transformEntityToEditor.js.map +1 -0
  25. package/dist/esm/channels/_internal/transformFormValuesToEntityPermissionPolicies.js +55 -0
  26. package/dist/esm/channels/_internal/transformFormValuesToEntityPermissionPolicies.js.map +1 -0
  27. package/dist/esm/channels/edit.js +35 -0
  28. package/dist/esm/channels/edit.js.map +1 -0
  29. package/dist/esm/channels/fetch.js +14 -0
  30. package/dist/esm/channels/fetch.js.map +1 -0
  31. package/dist/esm/channels/index.js +4 -0
  32. package/dist/esm/channels/index.js.map +1 -0
  33. package/dist/esm/core/schemas/internal/discussions/EntityUiSchemaDiscussionsSettings.js +141 -0
  34. package/dist/esm/core/schemas/internal/discussions/EntityUiSchemaDiscussionsSettings.js.map +1 -0
  35. package/dist/esm/core/types/IHubChannel.js +1 -0
  36. package/dist/esm/core/types/IHubChannel.js.map +1 -0
  37. package/dist/esm/core/types/IHubOrganization.js +1 -0
  38. package/dist/esm/core/types/IHubOrganization.js.map +1 -0
  39. package/dist/esm/discussions/api/posts/index.js +2 -0
  40. package/dist/esm/discussions/api/posts/index.js.map +1 -0
  41. package/dist/esm/discussions/api/posts/posts.js +225 -0
  42. package/dist/esm/discussions/api/posts/posts.js.map +1 -0
  43. package/dist/esm/discussions/api/reactions/index.js +2 -0
  44. package/dist/esm/discussions/api/reactions/index.js.map +1 -0
  45. package/dist/esm/discussions/api/reactions/reactions.js +53 -0
  46. package/dist/esm/discussions/api/reactions/reactions.js.map +1 -0
  47. package/dist/esm/discussions/api/utils/channel-permission.js +377 -0
  48. package/dist/esm/discussions/api/utils/channel-permission.js.map +1 -0
  49. package/dist/esm/discussions/api/utils/channels/can-create-channel-v2.js +13 -0
  50. package/dist/esm/discussions/api/utils/channels/can-create-channel-v2.js.map +1 -0
  51. package/dist/esm/discussions/api/utils/channels/can-create-channel.js +54 -0
  52. package/dist/esm/discussions/api/utils/channels/can-create-channel.js.map +1 -0
  53. package/dist/esm/discussions/api/utils/channels/can-delete-channel-v2.js +17 -0
  54. package/dist/esm/discussions/api/utils/channels/can-delete-channel-v2.js.map +1 -0
  55. package/dist/esm/discussions/api/utils/channels/can-delete-channel.js +17 -0
  56. package/dist/esm/discussions/api/utils/channels/can-delete-channel.js.map +1 -0
  57. package/dist/esm/discussions/api/utils/channels/can-edit-channel-v2.js +19 -0
  58. package/dist/esm/discussions/api/utils/channels/can-edit-channel-v2.js.map +1 -0
  59. package/dist/esm/discussions/api/utils/channels/can-edit-channel.js +17 -0
  60. package/dist/esm/discussions/api/utils/channels/can-edit-channel.js.map +1 -0
  61. package/dist/esm/discussions/api/utils/channels/can-modify-channel.js +18 -0
  62. package/dist/esm/discussions/api/utils/channels/can-modify-channel.js.map +1 -0
  63. package/dist/esm/discussions/api/utils/channels/can-post-to-channel.js +57 -0
  64. package/dist/esm/discussions/api/utils/channels/can-post-to-channel.js.map +1 -0
  65. package/dist/esm/discussions/api/utils/channels/can-read-channel-v2.js +18 -0
  66. package/dist/esm/discussions/api/utils/channels/can-read-channel-v2.js.map +1 -0
  67. package/dist/esm/discussions/api/utils/channels/can-read-channel.js +52 -0
  68. package/dist/esm/discussions/api/utils/channels/can-read-channel.js.map +1 -0
  69. package/dist/esm/discussions/api/utils/channels/channel-to-dto-map.js +11 -0
  70. package/dist/esm/discussions/api/utils/channels/channel-to-dto-map.js.map +1 -0
  71. package/dist/esm/discussions/api/utils/channels/index.js +13 -0
  72. package/dist/esm/discussions/api/utils/channels/index.js.map +1 -0
  73. package/dist/esm/discussions/api/utils/channels/is-authorized-to-modify-channel-by-legacy-permissions.js +44 -0
  74. package/dist/esm/discussions/api/utils/channels/is-authorized-to-modify-channel-by-legacy-permissions.js.map +1 -0
  75. package/dist/esm/discussions/api/utils/platform.js +44 -0
  76. package/dist/esm/discussions/api/utils/platform.js.map +1 -0
  77. package/dist/esm/discussions/api/utils/portal-privilege.js +35 -0
  78. package/dist/esm/discussions/api/utils/portal-privilege.js.map +1 -0
  79. package/dist/esm/discussions/api/utils/posts/can-create-post-v2.js +20 -0
  80. package/dist/esm/discussions/api/utils/posts/can-create-post-v2.js.map +1 -0
  81. package/dist/esm/discussions/api/utils/posts/can-create-post.js +52 -0
  82. package/dist/esm/discussions/api/utils/posts/can-create-post.js.map +1 -0
  83. package/dist/esm/discussions/api/utils/posts/can-create-reply-v2.js +19 -0
  84. package/dist/esm/discussions/api/utils/posts/can-create-reply-v2.js.map +1 -0
  85. package/dist/esm/discussions/api/utils/posts/can-create-reply.js +52 -0
  86. package/dist/esm/discussions/api/utils/posts/can-create-reply.js.map +1 -0
  87. package/dist/esm/discussions/api/utils/posts/can-delete-post-v2.js +24 -0
  88. package/dist/esm/discussions/api/utils/posts/can-delete-post-v2.js.map +1 -0
  89. package/dist/esm/discussions/api/utils/posts/can-delete-post.js +28 -0
  90. package/dist/esm/discussions/api/utils/posts/can-delete-post.js.map +1 -0
  91. package/dist/esm/discussions/api/utils/posts/can-edit-post-status-v2.js +16 -0
  92. package/dist/esm/discussions/api/utils/posts/can-edit-post-status-v2.js.map +1 -0
  93. package/dist/esm/discussions/api/utils/posts/can-edit-post-status.js +61 -0
  94. package/dist/esm/discussions/api/utils/posts/can-edit-post-status.js.map +1 -0
  95. package/dist/esm/discussions/api/utils/posts/can-edit-post-v2.js +19 -0
  96. package/dist/esm/discussions/api/utils/posts/can-edit-post-v2.js.map +1 -0
  97. package/dist/esm/discussions/api/utils/posts/can-edit-post.js +62 -0
  98. package/dist/esm/discussions/api/utils/posts/can-edit-post.js.map +1 -0
  99. package/dist/esm/discussions/api/utils/posts/index.js +15 -0
  100. package/dist/esm/discussions/api/utils/posts/index.js.map +1 -0
  101. package/dist/esm/discussions/api/utils/posts/parse-discussion-uri.js +38 -0
  102. package/dist/esm/discussions/api/utils/posts/parse-discussion-uri.js.map +1 -0
  103. package/dist/esm/discussions/api/utils/posts/parse-mentioned-users.js +19 -0
  104. package/dist/esm/discussions/api/utils/posts/parse-mentioned-users.js.map +1 -0
  105. package/dist/esm/discussions/api/utils/reactions/can-create-reaction-v2.js +27 -0
  106. package/dist/esm/discussions/api/utils/reactions/can-create-reaction-v2.js.map +1 -0
  107. package/dist/esm/discussions/api/utils/reactions/can-create-reaction.js +28 -0
  108. package/dist/esm/discussions/api/utils/reactions/can-create-reaction.js.map +1 -0
  109. package/dist/esm/discussions/api/utils/reactions/index.js +3 -0
  110. package/dist/esm/discussions/api/utils/reactions/index.js.map +1 -0
  111. package/dist/esm/hub-types.js +916 -0
  112. package/dist/esm/hub-types.js.map +1 -0
  113. package/dist/esm/items/is-services-directory-disabled.js +5 -2
  114. package/dist/esm/items/is-services-directory-disabled.js.map +1 -1
  115. package/dist/esm/org/fetch-org.js +5 -1
  116. package/dist/esm/org/fetch-org.js.map +1 -1
  117. package/dist/esm/org/fetch.js +83 -0
  118. package/dist/esm/org/fetch.js.map +1 -0
  119. package/dist/esm/resources/_internal/_validate-url-helpers.js +12 -0
  120. package/dist/esm/resources/_internal/_validate-url-helpers.js.map +1 -1
  121. package/dist/esm/resources/fetch-image-as-blob.js +7 -2
  122. package/dist/esm/resources/fetch-image-as-blob.js.map +1 -1
  123. package/dist/esm/search/_internal/hubDiscussionsHelpers/channelResultsToSearchResults.js +33 -0
  124. package/dist/esm/search/_internal/hubDiscussionsHelpers/channelResultsToSearchResults.js.map +1 -0
  125. package/dist/esm/search/_internal/hubDiscussionsHelpers/processChannelFilters.js +67 -0
  126. package/dist/esm/search/_internal/hubDiscussionsHelpers/processChannelFilters.js.map +1 -0
  127. package/dist/esm/search/_internal/hubDiscussionsHelpers/processChannelOptions.js +35 -0
  128. package/dist/esm/search/_internal/hubDiscussionsHelpers/processChannelOptions.js.map +1 -0
  129. package/dist/esm/search/_internal/hubSearchItemsHelpers/getFieldsQueryParam.js +15 -0
  130. package/dist/esm/search/_internal/hubSearchItemsHelpers/getFieldsQueryParam.js.map +1 -0
  131. package/dist/esm/search/_internal/hubSearchItemsHelpers/getFlattenQueryParam.js +15 -0
  132. package/dist/esm/search/_internal/hubSearchItemsHelpers/getFlattenQueryParam.js.map +1 -0
  133. package/dist/esm/search/_internal/portalFetchOrgs.js +33 -0
  134. package/dist/esm/search/_internal/portalFetchOrgs.js.map +1 -0
  135. package/dist/esm/sites/_internal/_migrate-to-v2-catalog.js +24 -0
  136. package/dist/esm/sites/_internal/_migrate-to-v2-catalog.js.map +1 -0
  137. package/dist/esm/sites/defaultSiteCollectionKeys.js +7 -0
  138. package/dist/esm/sites/defaultSiteCollectionKeys.js.map +1 -0
  139. package/dist/esm/sites/searchCategoriesToCollections.js +75 -0
  140. package/dist/esm/sites/searchCategoriesToCollections.js.map +1 -0
  141. package/dist/esm/types/IArcGISContext.js +1 -0
  142. package/dist/esm/types/IArcGISContext.js.map +1 -0
  143. package/dist/esm/types/IArcGISContextManagerOptions.js +1 -0
  144. package/dist/esm/types/IArcGISContextManagerOptions.js.map +1 -0
  145. package/dist/esm/types/IArcGISContextOptions.js +1 -0
  146. package/dist/esm/types/IArcGISContextOptions.js.map +1 -0
  147. package/dist/esm/types/IUserResourceConfig.js +1 -0
  148. package/dist/esm/types/IUserResourceConfig.js.map +1 -0
  149. package/dist/esm/types/IUserResourceToken.js +1 -0
  150. package/dist/esm/types/IUserResourceToken.js.map +1 -0
  151. package/dist/esm/urls/getPortalBaseFromOrgUrl.js +3 -1
  152. package/dist/esm/urls/getPortalBaseFromOrgUrl.js.map +1 -1
  153. package/dist/esm/utils/IHubConfig.js +1 -0
  154. package/dist/esm/utils/IHubConfig.js.map +1 -0
  155. package/dist/esm/utils/IUserHubSettings.js +1 -0
  156. package/dist/esm/utils/IUserHubSettings.js.map +1 -0
  157. package/dist/esm/utils/IUserSiteSettings.js +4 -0
  158. package/dist/esm/utils/IUserSiteSettings.js.map +1 -0
  159. package/dist/esm/utils/LogLevel.js +1 -0
  160. package/dist/esm/utils/LogLevel.js.map +1 -0
  161. package/dist/esm/utils/internal/config.js +11 -0
  162. package/dist/esm/utils/internal/config.js.map +1 -0
  163. package/dist/node/channels/HubChannel.js +177 -0
  164. package/dist/node/channels/HubChannel.js.map +1 -0
  165. package/dist/node/channels/_internal/ChannelBusinessRules.js +42 -0
  166. package/dist/node/channels/_internal/ChannelBusinessRules.js.map +1 -0
  167. package/dist/node/channels/_internal/ChannelSchema.js +201 -0
  168. package/dist/node/channels/_internal/ChannelSchema.js.map +1 -0
  169. package/dist/node/channels/_internal/ChannelUiSchemaCreate.js +291 -0
  170. package/dist/node/channels/_internal/ChannelUiSchemaCreate.js.map +1 -0
  171. package/dist/node/channels/_internal/ChannelUiSchemaEdit.js +23 -0
  172. package/dist/node/channels/_internal/ChannelUiSchemaEdit.js.map +1 -0
  173. package/dist/node/channels/_internal/buildDefaultChannel.js +30 -0
  174. package/dist/node/channels/_internal/buildDefaultChannel.js.map +1 -0
  175. package/dist/node/channels/_internal/transformAclPermissionToEntityPermissionPolicy.js +52 -0
  176. package/dist/node/channels/_internal/transformAclPermissionToEntityPermissionPolicy.js.map +1 -0
  177. package/dist/node/channels/_internal/transformChannelToEntity.js +65 -0
  178. package/dist/node/channels/_internal/transformChannelToEntity.js.map +1 -0
  179. package/dist/node/channels/_internal/transformEditorToEntity.js +26 -0
  180. package/dist/node/channels/_internal/transformEditorToEntity.js.map +1 -0
  181. package/dist/node/channels/_internal/transformEntityPermissionPoliciesToFormValues.js +153 -0
  182. package/dist/node/channels/_internal/transformEntityPermissionPoliciesToFormValues.js.map +1 -0
  183. package/dist/node/channels/_internal/transformEntityToChannelData.js +73 -0
  184. package/dist/node/channels/_internal/transformEntityToChannelData.js.map +1 -0
  185. package/dist/node/channels/_internal/transformEntityToEditor.js +24 -0
  186. package/dist/node/channels/_internal/transformEntityToEditor.js.map +1 -0
  187. package/dist/node/channels/_internal/transformFormValuesToEntityPermissionPolicies.js +59 -0
  188. package/dist/node/channels/_internal/transformFormValuesToEntityPermissionPolicies.js.map +1 -0
  189. package/dist/node/channels/edit.js +41 -0
  190. package/dist/node/channels/edit.js.map +1 -0
  191. package/dist/node/channels/fetch.js +18 -0
  192. package/dist/node/channels/fetch.js.map +1 -0
  193. package/dist/node/channels/index.js +7 -0
  194. package/dist/node/channels/index.js.map +1 -0
  195. package/dist/node/core/schemas/internal/discussions/EntityUiSchemaDiscussionsSettings.js +144 -0
  196. package/dist/node/core/schemas/internal/discussions/EntityUiSchemaDiscussionsSettings.js.map +1 -0
  197. package/dist/node/core/types/IHubChannel.js +3 -0
  198. package/dist/node/core/types/IHubChannel.js.map +1 -0
  199. package/dist/node/core/types/IHubOrganization.js +3 -0
  200. package/dist/node/core/types/IHubOrganization.js.map +1 -0
  201. package/dist/node/discussions/api/posts/index.js +5 -0
  202. package/dist/node/discussions/api/posts/index.js.map +1 -0
  203. package/dist/node/discussions/api/posts/posts.js +244 -0
  204. package/dist/node/discussions/api/posts/posts.js.map +1 -0
  205. package/dist/node/discussions/api/reactions/index.js +5 -0
  206. package/dist/node/discussions/api/reactions/index.js.map +1 -0
  207. package/dist/node/discussions/api/reactions/reactions.js +60 -0
  208. package/dist/node/discussions/api/reactions/reactions.js.map +1 -0
  209. package/dist/node/discussions/api/utils/channel-permission.js +381 -0
  210. package/dist/node/discussions/api/utils/channel-permission.js.map +1 -0
  211. package/dist/node/discussions/api/utils/channels/can-create-channel-v2.js +17 -0
  212. package/dist/node/discussions/api/utils/channels/can-create-channel-v2.js.map +1 -0
  213. package/dist/node/discussions/api/utils/channels/can-create-channel.js +58 -0
  214. package/dist/node/discussions/api/utils/channels/can-create-channel.js.map +1 -0
  215. package/dist/node/discussions/api/utils/channels/can-delete-channel-v2.js +21 -0
  216. package/dist/node/discussions/api/utils/channels/can-delete-channel-v2.js.map +1 -0
  217. package/dist/node/discussions/api/utils/channels/can-delete-channel.js +21 -0
  218. package/dist/node/discussions/api/utils/channels/can-delete-channel.js.map +1 -0
  219. package/dist/node/discussions/api/utils/channels/can-edit-channel-v2.js +23 -0
  220. package/dist/node/discussions/api/utils/channels/can-edit-channel-v2.js.map +1 -0
  221. package/dist/node/discussions/api/utils/channels/can-edit-channel.js +21 -0
  222. package/dist/node/discussions/api/utils/channels/can-edit-channel.js.map +1 -0
  223. package/dist/node/discussions/api/utils/channels/can-modify-channel.js +22 -0
  224. package/dist/node/discussions/api/utils/channels/can-modify-channel.js.map +1 -0
  225. package/dist/node/discussions/api/utils/channels/can-post-to-channel.js +61 -0
  226. package/dist/node/discussions/api/utils/channels/can-post-to-channel.js.map +1 -0
  227. package/dist/node/discussions/api/utils/channels/can-read-channel-v2.js +22 -0
  228. package/dist/node/discussions/api/utils/channels/can-read-channel-v2.js.map +1 -0
  229. package/dist/node/discussions/api/utils/channels/can-read-channel.js +57 -0
  230. package/dist/node/discussions/api/utils/channels/can-read-channel.js.map +1 -0
  231. package/dist/node/discussions/api/utils/channels/channel-to-dto-map.js +15 -0
  232. package/dist/node/discussions/api/utils/channels/channel-to-dto-map.js.map +1 -0
  233. package/dist/node/discussions/api/utils/channels/index.js +26 -0
  234. package/dist/node/discussions/api/utils/channels/index.js.map +1 -0
  235. package/dist/node/discussions/api/utils/channels/is-authorized-to-modify-channel-by-legacy-permissions.js +48 -0
  236. package/dist/node/discussions/api/utils/channels/is-authorized-to-modify-channel-by-legacy-permissions.js.map +1 -0
  237. package/dist/node/discussions/api/utils/platform.js +53 -0
  238. package/dist/node/discussions/api/utils/platform.js.map +1 -0
  239. package/dist/node/discussions/api/utils/portal-privilege.js +41 -0
  240. package/dist/node/discussions/api/utils/portal-privilege.js.map +1 -0
  241. package/dist/node/discussions/api/utils/posts/can-create-post-v2.js +24 -0
  242. package/dist/node/discussions/api/utils/posts/can-create-post-v2.js.map +1 -0
  243. package/dist/node/discussions/api/utils/posts/can-create-post.js +56 -0
  244. package/dist/node/discussions/api/utils/posts/can-create-post.js.map +1 -0
  245. package/dist/node/discussions/api/utils/posts/can-create-reply-v2.js +23 -0
  246. package/dist/node/discussions/api/utils/posts/can-create-reply-v2.js.map +1 -0
  247. package/dist/node/discussions/api/utils/posts/can-create-reply.js +56 -0
  248. package/dist/node/discussions/api/utils/posts/can-create-reply.js.map +1 -0
  249. package/dist/node/discussions/api/utils/posts/can-delete-post-v2.js +28 -0
  250. package/dist/node/discussions/api/utils/posts/can-delete-post-v2.js.map +1 -0
  251. package/dist/node/discussions/api/utils/posts/can-delete-post.js +32 -0
  252. package/dist/node/discussions/api/utils/posts/can-delete-post.js.map +1 -0
  253. package/dist/node/discussions/api/utils/posts/can-edit-post-status-v2.js +20 -0
  254. package/dist/node/discussions/api/utils/posts/can-edit-post-status-v2.js.map +1 -0
  255. package/dist/node/discussions/api/utils/posts/can-edit-post-status.js +66 -0
  256. package/dist/node/discussions/api/utils/posts/can-edit-post-status.js.map +1 -0
  257. package/dist/node/discussions/api/utils/posts/can-edit-post-v2.js +23 -0
  258. package/dist/node/discussions/api/utils/posts/can-edit-post-v2.js.map +1 -0
  259. package/dist/node/discussions/api/utils/posts/can-edit-post.js +67 -0
  260. package/dist/node/discussions/api/utils/posts/can-edit-post.js.map +1 -0
  261. package/dist/node/discussions/api/utils/posts/index.js +31 -0
  262. package/dist/node/discussions/api/utils/posts/index.js.map +1 -0
  263. package/dist/node/discussions/api/utils/posts/parse-discussion-uri.js +42 -0
  264. package/dist/node/discussions/api/utils/posts/parse-discussion-uri.js.map +1 -0
  265. package/dist/node/discussions/api/utils/posts/parse-mentioned-users.js +23 -0
  266. package/dist/node/discussions/api/utils/posts/parse-mentioned-users.js.map +1 -0
  267. package/dist/node/discussions/api/utils/reactions/can-create-reaction-v2.js +31 -0
  268. package/dist/node/discussions/api/utils/reactions/can-create-reaction-v2.js.map +1 -0
  269. package/dist/node/discussions/api/utils/reactions/can-create-reaction.js +32 -0
  270. package/dist/node/discussions/api/utils/reactions/can-create-reaction.js.map +1 -0
  271. package/dist/node/discussions/api/utils/reactions/index.js +7 -0
  272. package/dist/node/discussions/api/utils/reactions/index.js.map +1 -0
  273. package/dist/node/hub-types.js +919 -0
  274. package/dist/node/hub-types.js.map +1 -0
  275. package/dist/node/items/is-services-directory-disabled.js +5 -2
  276. package/dist/node/items/is-services-directory-disabled.js.map +1 -1
  277. package/dist/node/org/fetch-org.js +5 -1
  278. package/dist/node/org/fetch-org.js.map +1 -1
  279. package/dist/node/org/fetch.js +89 -0
  280. package/dist/node/org/fetch.js.map +1 -0
  281. package/dist/node/resources/_internal/_validate-url-helpers.js +12 -0
  282. package/dist/node/resources/_internal/_validate-url-helpers.js.map +1 -1
  283. package/dist/node/resources/fetch-image-as-blob.js +7 -2
  284. package/dist/node/resources/fetch-image-as-blob.js.map +1 -1
  285. package/dist/node/search/_internal/hubDiscussionsHelpers/channelResultsToSearchResults.js +37 -0
  286. package/dist/node/search/_internal/hubDiscussionsHelpers/channelResultsToSearchResults.js.map +1 -0
  287. package/dist/node/search/_internal/hubDiscussionsHelpers/processChannelFilters.js +72 -0
  288. package/dist/node/search/_internal/hubDiscussionsHelpers/processChannelFilters.js.map +1 -0
  289. package/dist/node/search/_internal/hubDiscussionsHelpers/processChannelOptions.js +39 -0
  290. package/dist/node/search/_internal/hubDiscussionsHelpers/processChannelOptions.js.map +1 -0
  291. package/dist/node/search/_internal/hubSearchItemsHelpers/getFieldsQueryParam.js +19 -0
  292. package/dist/node/search/_internal/hubSearchItemsHelpers/getFieldsQueryParam.js.map +1 -0
  293. package/dist/node/search/_internal/hubSearchItemsHelpers/getFlattenQueryParam.js +19 -0
  294. package/dist/node/search/_internal/hubSearchItemsHelpers/getFlattenQueryParam.js.map +1 -0
  295. package/dist/node/search/_internal/portalFetchOrgs.js +37 -0
  296. package/dist/node/search/_internal/portalFetchOrgs.js.map +1 -0
  297. package/dist/node/sites/_internal/_migrate-to-v2-catalog.js +28 -0
  298. package/dist/node/sites/_internal/_migrate-to-v2-catalog.js.map +1 -0
  299. package/dist/node/sites/defaultSiteCollectionKeys.js +10 -0
  300. package/dist/node/sites/defaultSiteCollectionKeys.js.map +1 -0
  301. package/dist/node/sites/searchCategoriesToCollections.js +79 -0
  302. package/dist/node/sites/searchCategoriesToCollections.js.map +1 -0
  303. package/dist/node/types/IArcGISContext.js +3 -0
  304. package/dist/node/types/IArcGISContext.js.map +1 -0
  305. package/dist/node/types/IArcGISContextManagerOptions.js +3 -0
  306. package/dist/node/types/IArcGISContextManagerOptions.js.map +1 -0
  307. package/dist/node/types/IArcGISContextOptions.js +3 -0
  308. package/dist/node/types/IArcGISContextOptions.js.map +1 -0
  309. package/dist/node/types/IUserResourceConfig.js +3 -0
  310. package/dist/node/types/IUserResourceConfig.js.map +1 -0
  311. package/dist/node/types/IUserResourceToken.js +3 -0
  312. package/dist/node/types/IUserResourceToken.js.map +1 -0
  313. package/dist/node/urls/getPortalBaseFromOrgUrl.js +3 -1
  314. package/dist/node/urls/getPortalBaseFromOrgUrl.js.map +1 -1
  315. package/dist/node/utils/IHubConfig.js +3 -0
  316. package/dist/node/utils/IHubConfig.js.map +1 -0
  317. package/dist/node/utils/IUserHubSettings.js +3 -0
  318. package/dist/node/utils/IUserHubSettings.js.map +1 -0
  319. package/dist/node/utils/IUserSiteSettings.js +6 -0
  320. package/dist/node/utils/IUserSiteSettings.js.map +1 -0
  321. package/dist/node/utils/LogLevel.js +3 -0
  322. package/dist/node/utils/LogLevel.js.map +1 -0
  323. package/dist/node/utils/internal/config.js +14 -0
  324. package/dist/node/utils/internal/config.js.map +1 -0
  325. package/dist/types/channels/HubChannel.d.ts +105 -0
  326. package/dist/types/channels/_internal/ChannelBusinessRules.d.ts +19 -0
  327. package/dist/types/channels/_internal/ChannelSchema.d.ts +16 -0
  328. package/dist/types/channels/_internal/ChannelUiSchemaCreate.d.ts +10 -0
  329. package/dist/types/channels/_internal/ChannelUiSchemaEdit.d.ts +10 -0
  330. package/dist/types/channels/_internal/buildDefaultChannel.d.ts +8 -0
  331. package/dist/types/channels/_internal/transformAclPermissionToEntityPermissionPolicy.d.ts +11 -0
  332. package/dist/types/channels/_internal/transformChannelToEntity.d.ts +11 -0
  333. package/dist/types/channels/_internal/transformEditorToEntity.d.ts +8 -0
  334. package/dist/types/channels/_internal/transformEntityPermissionPoliciesToFormValues.d.ts +44 -0
  335. package/dist/types/channels/_internal/transformEntityToChannelData.d.ts +9 -0
  336. package/dist/types/channels/_internal/transformEntityToEditor.d.ts +9 -0
  337. package/dist/types/channels/_internal/transformFormValuesToEntityPermissionPolicies.d.ts +9 -0
  338. package/dist/types/channels/edit.d.ts +23 -0
  339. package/dist/types/channels/fetch.d.ts +9 -0
  340. package/dist/types/channels/index.d.ts +3 -0
  341. package/dist/types/core/schemas/internal/discussions/EntityUiSchemaDiscussionsSettings.d.ts +11 -0
  342. package/dist/types/core/types/IHubChannel.d.ts +91 -0
  343. package/dist/types/core/types/IHubOrganization.d.ts +61 -0
  344. package/dist/types/discussions/api/posts/index.d.ts +1 -0
  345. package/dist/types/discussions/api/posts/posts.d.ts +146 -0
  346. package/dist/types/discussions/api/reactions/index.d.ts +1 -0
  347. package/dist/types/discussions/api/reactions/reactions.d.ts +38 -0
  348. package/dist/types/discussions/api/utils/channel-permission.d.ts +44 -0
  349. package/dist/types/discussions/api/utils/channels/can-create-channel-v2.d.ts +10 -0
  350. package/dist/types/discussions/api/utils/channels/can-create-channel.d.ts +11 -0
  351. package/dist/types/discussions/api/utils/channels/can-delete-channel-v2.d.ts +10 -0
  352. package/dist/types/discussions/api/utils/channels/can-delete-channel.d.ts +11 -0
  353. package/dist/types/discussions/api/utils/channels/can-edit-channel-v2.d.ts +11 -0
  354. package/dist/types/discussions/api/utils/channels/can-edit-channel.d.ts +11 -0
  355. package/dist/types/discussions/api/utils/channels/can-modify-channel.d.ts +11 -0
  356. package/dist/types/discussions/api/utils/channels/can-post-to-channel.d.ts +11 -0
  357. package/dist/types/discussions/api/utils/channels/can-read-channel-v2.d.ts +11 -0
  358. package/dist/types/discussions/api/utils/channels/can-read-channel.d.ts +22 -0
  359. package/dist/types/discussions/api/utils/channels/channel-to-dto-map.d.ts +6 -0
  360. package/dist/types/discussions/api/utils/channels/index.d.ts +10 -0
  361. package/dist/types/discussions/api/utils/channels/is-authorized-to-modify-channel-by-legacy-permissions.d.ts +11 -0
  362. package/dist/types/discussions/api/utils/platform.d.ts +26 -0
  363. package/dist/types/discussions/api/utils/portal-privilege.d.ts +17 -0
  364. package/dist/types/discussions/api/utils/posts/can-create-post-v2.d.ts +10 -0
  365. package/dist/types/discussions/api/utils/posts/can-create-post.d.ts +12 -0
  366. package/dist/types/discussions/api/utils/posts/can-create-reply-v2.d.ts +9 -0
  367. package/dist/types/discussions/api/utils/posts/can-create-reply.d.ts +12 -0
  368. package/dist/types/discussions/api/utils/posts/can-delete-post-v2.d.ts +11 -0
  369. package/dist/types/discussions/api/utils/posts/can-delete-post.d.ts +12 -0
  370. package/dist/types/discussions/api/utils/posts/can-edit-post-status-v2.d.ts +9 -0
  371. package/dist/types/discussions/api/utils/posts/can-edit-post-status.d.ts +20 -0
  372. package/dist/types/discussions/api/utils/posts/can-edit-post-v2.d.ts +10 -0
  373. package/dist/types/discussions/api/utils/posts/can-edit-post.d.ts +22 -0
  374. package/dist/types/discussions/api/utils/posts/index.d.ts +12 -0
  375. package/dist/types/discussions/api/utils/posts/parse-discussion-uri.d.ts +9 -0
  376. package/dist/types/discussions/api/utils/posts/parse-mentioned-users.d.ts +6 -0
  377. package/dist/types/discussions/api/utils/reactions/can-create-reaction-v2.d.ts +12 -0
  378. package/dist/types/discussions/api/utils/reactions/can-create-reaction.d.ts +13 -0
  379. package/dist/types/discussions/api/utils/reactions/index.d.ts +2 -0
  380. package/dist/types/hub-types.d.ts +547 -0
  381. package/dist/types/org/fetch.d.ts +26 -0
  382. package/dist/types/search/_internal/hubDiscussionsHelpers/channelResultsToSearchResults.d.ts +11 -0
  383. package/dist/types/search/_internal/hubDiscussionsHelpers/processChannelFilters.d.ts +32 -0
  384. package/dist/types/search/_internal/hubDiscussionsHelpers/processChannelOptions.d.ts +10 -0
  385. package/dist/types/search/_internal/hubSearchItemsHelpers/getFieldsQueryParam.d.ts +11 -0
  386. package/dist/types/search/_internal/hubSearchItemsHelpers/getFlattenQueryParam.d.ts +11 -0
  387. package/dist/types/search/_internal/portalFetchOrgs.d.ts +9 -0
  388. package/dist/types/sites/_internal/_migrate-to-v2-catalog.d.ts +8 -0
  389. package/dist/types/sites/defaultSiteCollectionKeys.d.ts +2 -0
  390. package/dist/types/sites/searchCategoriesToCollections.d.ts +10 -0
  391. package/dist/types/types/IArcGISContext.d.ts +258 -0
  392. package/dist/types/types/IArcGISContextManagerOptions.d.ts +79 -0
  393. package/dist/types/types/IArcGISContextOptions.d.ts +78 -0
  394. package/dist/types/types/IUserResourceConfig.d.ts +5 -0
  395. package/dist/types/types/IUserResourceToken.d.ts +4 -0
  396. package/dist/types/utils/IHubConfig.d.ts +24 -0
  397. package/dist/types/utils/IUserHubSettings.d.ts +32 -0
  398. package/dist/types/utils/IUserSiteSettings.d.ts +8 -0
  399. package/dist/types/utils/LogLevel.d.ts +2 -0
  400. package/dist/types/utils/internal/config.d.ts +1 -0
  401. package/package.json +5 -4
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.searchCategoriesToCollections = void 0;
4
+ const types_1 = require("./_internal/types");
5
+ const defaultSiteCollectionKeys_1 = require("./defaultSiteCollectionKeys");
6
+ /**
7
+ * Convert searchCategories to collections. If no searchCategories are provided,
8
+ * the default collections will be returned.
9
+ *
10
+ * @param searchCategories searchCategories from site model (data.values.searchCategories)
11
+ * @returns IHubCollections that respect the searchCategories configuration
12
+ */
13
+ function searchCategoriesToCollections(searchCategories) {
14
+ const baseCollectionMap = defaultSiteCollectionKeys_1.defaultSiteCollectionKeys.reduce((map, key) => {
15
+ // We use well-known predicates for the default collections,
16
+ // but "Apps & Maps" is a special case since it includes both the app and map families
17
+ const predicates = key === "appAndMap"
18
+ ? [{ type: { any: ["$app", "$map"] } }]
19
+ : [{ type: { any: [`$${key}`] } }];
20
+ map[key] = {
21
+ // We chose to leave the label as "null" for a couple of reasons. First off,
22
+ // the default collection names are supposed to be translated and we don't
23
+ // have access to i18n services here. Second, because we temporarily have to
24
+ // serialize changes from catalog.collections back to site.data.values.searchCategories
25
+ // for backwards compatibility, we need a way to indicate whether a collection's
26
+ // name has been explicitly set or if it is relying on the default translation.
27
+ // As such, we only set the label on the collection object IFF an explicit
28
+ // override text has been configured.
29
+ label: null,
30
+ key,
31
+ include: [],
32
+ targetEntity: "item",
33
+ scope: {
34
+ targetEntity: "item",
35
+ filters: [{ predicates }],
36
+ },
37
+ displayConfig: {
38
+ hidden: false,
39
+ },
40
+ };
41
+ return map;
42
+ }, {});
43
+ const searchCategoryToCollection = {
44
+ [types_1.SearchCategories.DATA]: "dataset",
45
+ // Unfortunately, the "site" search category has different keys depending on if the catalog
46
+ // was created for a hub basic or hub premium site. As such, we just account for both.
47
+ [types_1.SearchCategories.INITIATIVES]: "site",
48
+ [types_1.SearchCategories.SITES]: "site",
49
+ [types_1.SearchCategories.DOCUMENTS]: "document",
50
+ [types_1.SearchCategories.APPS_AND_MAPS]: "appAndMap",
51
+ };
52
+ // Not every site has `data.values.searchCategories` saved, so we have to keep a bare-bones
53
+ // copy of what the default objects are in opendata-ui.
54
+ // NOTE: The `event` search category has been explicitly omitted. While the classic search view
55
+ // allows for the searching of `events`, the new search view does not.
56
+ const DEFAULT_SEARCH_CATEGORIES = [
57
+ { key: types_1.SearchCategories.SITES, hidden: true },
58
+ { key: types_1.SearchCategories.DATA },
59
+ { key: types_1.SearchCategories.DOCUMENTS },
60
+ { key: types_1.SearchCategories.APPS_AND_MAPS },
61
+ ];
62
+ const legacySearchCategories = searchCategories || DEFAULT_SEARCH_CATEGORIES;
63
+ const configuredCollections = legacySearchCategories
64
+ // The new search view doesn't currently allow for searching events
65
+ .filter((searchCategory) => searchCategory.key !== types_1.SearchCategories.EVENTS)
66
+ // Some sites have a borked `data.values.searchCategories` that explicitly includes the `all`
67
+ // collection. We have this check to catch that and any other weird scenarios.
68
+ .filter((searchCategory) => !!searchCategoryToCollection[searchCategory.key])
69
+ .map((searchCategory) => {
70
+ const collectionKey = searchCategoryToCollection[searchCategory.key];
71
+ const collection = baseCollectionMap[collectionKey];
72
+ collection.label = searchCategory.overrideText || null;
73
+ collection.displayConfig.hidden = !!searchCategory.hidden;
74
+ return collection;
75
+ });
76
+ return configuredCollections;
77
+ }
78
+ exports.searchCategoriesToCollections = searchCategoriesToCollections;
79
+ //# sourceMappingURL=searchCategoriesToCollections.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"searchCategoriesToCollections.js","sourceRoot":"","sources":["../../../src/sites/searchCategoriesToCollections.ts"],"names":[],"mappings":";;;AAEA,6CAAqD;AACrD,2EAAwE;AAExE;;;;;;GAMG;AACH,SAAgB,6BAA6B,CAC3C,gBAAqC;IAErC,MAAM,iBAAiB,GAAG,qDAAyB,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACtE,4DAA4D;QAC5D,sFAAsF;QACtF,MAAM,UAAU,GACd,GAAG,KAAK,WAAW;YACjB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC;YACvC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;QAEvC,GAAG,CAAC,GAAG,CAAC,GAAG;YACT,4EAA4E;YAC5E,0EAA0E;YAC1E,4EAA4E;YAC5E,uFAAuF;YACvF,gFAAgF;YAChF,+EAA+E;YAC/E,0EAA0E;YAC1E,qCAAqC;YACrC,KAAK,EAAE,IAAI;YACX,GAAG;YACH,OAAO,EAAE,EAAE;YACX,YAAY,EAAE,MAAM;YACpB,KAAK,EAAE;gBACL,YAAY,EAAE,MAAM;gBACpB,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC;aAC1B;YACD,aAAa,EAAE;gBACb,MAAM,EAAE,KAAK;aACd;SACF,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAoC,CAAC,CAAC;IACzC,MAAM,0BAA0B,GAE5B;QACF,CAAC,wBAAgB,CAAC,IAAI,CAAC,EAAE,SAAS;QAClC,2FAA2F;QAC3F,sFAAsF;QACtF,CAAC,wBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM;QACtC,CAAC,wBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM;QAChC,CAAC,wBAAgB,CAAC,SAAS,CAAC,EAAE,UAAU;QACxC,CAAC,wBAAgB,CAAC,aAAa,CAAC,EAAE,WAAW;KAC9C,CAAC;IACF,2FAA2F;IAC3F,uDAAuD;IACvD,+FAA+F;IAC/F,sEAAsE;IACtE,MAAM,yBAAyB,GAAU;QACvC,EAAE,GAAG,EAAE,wBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE;QAC7C,EAAE,GAAG,EAAE,wBAAgB,CAAC,IAAI,EAAE;QAC9B,EAAE,GAAG,EAAE,wBAAgB,CAAC,SAAS,EAAE;QACnC,EAAE,GAAG,EAAE,wBAAgB,CAAC,aAAa,EAAE;KACxC,CAAC;IACF,MAAM,sBAAsB,GAC1B,gBAAgB,IAAI,yBAAyB,CAAC;IAEhD,MAAM,qBAAqB,GAAG,sBAAsB;QAClD,mEAAmE;SAClE,MAAM,CAAC,CAAC,cAAc,EAAE,EAAE,CAAC,cAAc,CAAC,GAAG,KAAK,wBAAgB,CAAC,MAAM,CAAC;QAC3E,6FAA6F;QAC7F,8EAA8E;SAC7E,MAAM,CACL,CAAC,cAAc,EAAE,EAAE,CACjB,CAAC,CAAC,0BAA0B,CAAC,cAAc,CAAC,GAAuB,CAAC,CACvE;SACA,GAAG,CAAC,CAAC,cAAc,EAAE,EAAE;QACtB,MAAM,aAAa,GACjB,0BAA0B,CAAC,cAAc,CAAC,GAAuB,CAAC,CAAC;QACrE,MAAM,UAAU,GAAG,iBAAiB,CAAC,aAAa,CAAC,CAAC;QACpD,UAAU,CAAC,KAAK,GAAG,cAAc,CAAC,YAAY,IAAI,IAAI,CAAC;QACvD,UAAU,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC;QAC1D,OAAO,UAAU,CAAC;IACpB,CAAC,CAAC,CAAC;IAEL,OAAO,qBAAqB,CAAC;AAC/B,CAAC;AA7ED,sEA6EC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IArcGISContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IArcGISContext.js","sourceRoot":"","sources":["../../../src/types/IArcGISContext.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IArcGISContextManagerOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IArcGISContextManagerOptions.js","sourceRoot":"","sources":["../../../src/types/IArcGISContextManagerOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IArcGISContextOptions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IArcGISContextOptions.js","sourceRoot":"","sources":["../../../src/types/IArcGISContextOptions.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IUserResourceConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IUserResourceConfig.js","sourceRoot":"","sources":["../../../src/types/IUserResourceConfig.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IUserResourceToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IUserResourceToken.js","sourceRoot":"","sources":["../../../src/types/IUserResourceToken.ts"],"names":[],"mappings":""}
@@ -10,7 +10,9 @@ exports.getPortalBaseFromOrgUrl = void 0;
10
10
  * @returns
11
11
  */
12
12
  function getPortalBaseFromOrgUrl(orgUrl) {
13
- let result = orgUrl;
13
+ // strip off the /sharing/rest part of the url
14
+ // this will also handle enterprise urls
15
+ let result = orgUrl.split("/sharing/rest")[0];
14
16
  if (orgUrl.match(/(qaext|\.mapsqa)\.arcgis.com/)) {
15
17
  result = "https://qaext.arcgis.com";
16
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getPortalBaseFromOrgUrl.js","sourceRoot":"","sources":["../../../src/urls/getPortalBaseFromOrgUrl.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,SAAgB,uBAAuB,CAAC,MAAc;IACpD,IAAI,MAAM,GAAG,MAAM,CAAC;IAEpB,IAAI,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,EAAE;QAChD,MAAM,GAAG,0BAA0B,CAAC;KACrC;SAAM,IAAI,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,EAAE;QAC5D,MAAM,GAAG,2BAA2B,CAAC;KACtC;SAAM;QACL,0BAA0B;QAC1B,IAAI,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE;YAC5C,MAAM,GAAG,wBAAwB,CAAC;SACnC;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAfD,0DAeC"}
1
+ {"version":3,"file":"getPortalBaseFromOrgUrl.js","sourceRoot":"","sources":["../../../src/urls/getPortalBaseFromOrgUrl.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,SAAgB,uBAAuB,CAAC,MAAc;IACpD,8CAA8C;IAC9C,wCAAwC;IACxC,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9C,IAAI,MAAM,CAAC,KAAK,CAAC,8BAA8B,CAAC,EAAE;QAChD,MAAM,GAAG,0BAA0B,CAAC;KACrC;SAAM,IAAI,MAAM,CAAC,KAAK,CAAC,mCAAmC,CAAC,EAAE;QAC5D,MAAM,GAAG,2BAA2B,CAAC;KACtC;SAAM;QACL,0BAA0B;QAC1B,IAAI,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,EAAE;YAC5C,MAAM,GAAG,wBAAwB,CAAC;SACnC;KACF;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAjBD,0DAiBC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IHubConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHubConfig.js","sourceRoot":"","sources":["../../../src/utils/IHubConfig.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IUserHubSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IUserHubSettings.js","sourceRoot":"","sources":["../../../src/utils/IUserHubSettings.ts"],"names":[],"mappings":""}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ /**
3
+ * Site Level Settings
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ //# sourceMappingURL=IUserSiteSettings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IUserSiteSettings.js","sourceRoot":"","sources":["../../../src/utils/IUserSiteSettings.ts"],"names":[],"mappings":";AAAA;;GAEG"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=LogLevel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogLevel.js","sourceRoot":"","sources":["../../../src/utils/LogLevel.ts"],"names":[],"mappings":""}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.logLevel = void 0;
4
+ // the default settings
5
+ const DEFAULT_CONFIG = {
6
+ logLevel: "error",
7
+ };
8
+ // the global variable name that consumers use to override the defaults
9
+ const GLOBAL_VARIABLE_NAME = "arcgisHubConfig";
10
+ // merge consumer supplied config (if any) with the defaults
11
+ const config = Object.assign(Object.assign({}, DEFAULT_CONFIG), globalThis[GLOBAL_VARIABLE_NAME]);
12
+ // export the settings as immutable consts
13
+ exports.logLevel = config.logLevel;
14
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../src/utils/internal/config.ts"],"names":[],"mappings":";;;AAEA,uBAAuB;AACvB,MAAM,cAAc,GAAe;IACjC,QAAQ,EAAE,OAAO;CAClB,CAAC;AAEF,uEAAuE;AACvE,MAAM,oBAAoB,GAAG,iBAAiB,CAAC;AAE/C,4DAA4D;AAC5D,MAAM,MAAM,GAAG,gCACV,cAAc,GACb,UAAkB,CAAC,oBAAoB,CAAC,CAC/B,CAAC;AAEhB,0CAA0C;AAC7B,QAAA,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC"}
@@ -0,0 +1,105 @@
1
+ import { IArcGISContext } from "../types";
2
+ import { IWithEditorBehavior } from "../core/behaviors/IWithEditorBehavior";
3
+ import { IWithStoreBehavior } from "../core/behaviors/IWithStoreBehavior";
4
+ import { IEditorConfig } from "../core/schemas/types";
5
+ import { IEntityEditorContext } from "../core/types/HubEntityEditor";
6
+ import { IHubChannel, IHubChannelEditor } from "../core/types/IHubChannel";
7
+ import { ChannelEditorType } from "./_internal/ChannelSchema";
8
+ import { IConvertToCardModelOpts, IHubCardViewModel } from "../core/types/IHubCardViewModel";
9
+ export declare class HubChannel implements IWithStoreBehavior<IHubChannel>, IWithEditorBehavior {
10
+ protected context: IArcGISContext;
11
+ protected entity: IHubChannel;
12
+ protected isDestroyed: boolean;
13
+ constructor(entity: IHubChannel, context: IArcGISContext);
14
+ /**
15
+ * Create an instance from an IHubChannel object
16
+ * @param json - JSON object to create a HubChannel from
17
+ * @param context - ArcGIS context
18
+ * @returns a HubChannel instance
19
+ */
20
+ static fromJson(json: Partial<IHubChannel>, context: IArcGISContext): HubChannel;
21
+ /**
22
+ * Create a new HubChannel, returning a HubChannel instance.
23
+ * Note: This does not persist the Channel into the backing store
24
+ * @param partialChannel A partial IHubChannel object
25
+ * @param context ArcGIS Context
26
+ * @returns a HubChannel instance
27
+ */
28
+ static create(partialChannel: Partial<IHubChannel>, context: IArcGISContext, save?: boolean): Promise<HubChannel>;
29
+ /**
30
+ * Fetch a Channel from the backing store and return a HubChannel instance.
31
+ * @param identifier - Identifier of the channel to load
32
+ * @param context - An IArcGISContext object
33
+ * @returns a HubChannel instance
34
+ */
35
+ static fetch(identifier: string, context: IArcGISContext): Promise<HubChannel>;
36
+ /**
37
+ * Given a partial channel, apply defaults to it to ensure that a baseline of properties are set
38
+ * @param partialChannel A partial IHubChannel object
39
+ * @param context - ArcGIS Context
40
+ * @returns an IHubChannel object
41
+ */
42
+ private static applyDefaults;
43
+ /**
44
+ * Can the current user edit the channel?
45
+ * @returns boolean
46
+ */
47
+ get canEdit(): boolean;
48
+ /**
49
+ * Can the current user delete the channel?
50
+ * @returns boolean
51
+ */
52
+ get canDelete(): boolean;
53
+ /**
54
+ * The orgId of the channel
55
+ * @returns the orgId of the channel
56
+ */
57
+ get orgId(): string;
58
+ /**
59
+ * Return the backing entity as an object literal
60
+ * @returns an IHubChannel
61
+ */
62
+ toJson(): IHubChannel;
63
+ /**
64
+ * Apply a new state to the instance
65
+ * @param changes A partial IHubChannel object
66
+ */
67
+ update(changes: Partial<IHubChannel>): void;
68
+ /**
69
+ * Save the HubChannel to the backing store.
70
+ * @returns a promise
71
+ */
72
+ save(): Promise<void>;
73
+ /**
74
+ * Delete the HubChannel from the store
75
+ * set a flag to indicate that it is destroyed
76
+ * @returns a promise
77
+ */
78
+ delete(): Promise<void>;
79
+ /**
80
+ * TODO
81
+ * @param opts
82
+ * @returns
83
+ */
84
+ convertToCardModel(opts?: IConvertToCardModelOpts): IHubCardViewModel;
85
+ /**
86
+ * Get a specifc editor config for the HubChannel entity.
87
+ * @param i18nScope A string representing the i18n scope for translated strings
88
+ * @param type One of the supported ChannelEditorType strings
89
+ * @returns a promise that resolves a IEditorConfig object
90
+ */
91
+ getEditorConfig(i18nScope: string, type: ChannelEditorType): Promise<IEditorConfig>;
92
+ /**
93
+ * Return the channel as an editor object
94
+ * @param editorContext An IEntityEditorContext object
95
+ * @param include An optional array of includes
96
+ * @returns a promise that resolves an IHubChannelEditor object
97
+ */
98
+ toEditor(editorContext: IEntityEditorContext, include?: string[]): Promise<IHubChannelEditor>;
99
+ /**
100
+ * Load the channel from the editor object
101
+ * @param editor An IHubChannelEditor object
102
+ * @returns a promise that resolves an IHubChannel
103
+ */
104
+ fromEditor(editor: IHubChannelEditor): Promise<IHubChannel>;
105
+ }
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @private
3
+ * An array of all supported channel permissions
4
+ */
5
+ export declare const ChannelPermissions: readonly ["hub:channel", "hub:channel:create", "hub:channel:delete", "hub:channel:edit", "hub:channel:view", "hub:channel:owner", "hub:channel:manage", "hub:channel:read", "hub:channel:write", "hub:channel:readWrite", "hub:channel:moderate"];
6
+ /**
7
+ * @private
8
+ * A union type representing all the supported channel permissions
9
+ */
10
+ export declare type ChannelPermission = (typeof ChannelPermissions)[number];
11
+ /**
12
+ * A pseudo-permission used as a placeholder for the "None" permission option
13
+ */
14
+ export declare const ChannelNonePermission = "hub:channel:none";
15
+ /**
16
+ * @private
17
+ * A map of all supported channel permissions
18
+ */
19
+ export declare const CHANNEL_PERMISSIONS: Record<"channelRoot" | "channelCreate" | "channelDelete" | "channelEdit" | "channelView" | "channelOwner" | "channelManage" | "channelRead" | "channelWrite" | "channelReadWrite" | "channelModerate", ChannelPermission>;
@@ -0,0 +1,16 @@
1
+ import { IConfigurationSchema } from "../../core/schemas/types";
2
+ /**
3
+ * @private
4
+ * The supported channel editor types
5
+ */
6
+ export declare const ChannelEditorTypes: readonly ["hub:channel:create", "hub:channel:edit"];
7
+ /**
8
+ * @private
9
+ * The union of all supported channel editor types
10
+ */
11
+ export declare type ChannelEditorType = (typeof ChannelEditorTypes)[number];
12
+ /**
13
+ * @private
14
+ * The channel editor schema
15
+ */
16
+ export declare const ChannelSchema: IConfigurationSchema;
@@ -0,0 +1,10 @@
1
+ import { IUiSchema } from "../../core/schemas/types";
2
+ import { IArcGISContext } from "../../types";
3
+ import { IHubChannel } from "../../core/types";
4
+ /**
5
+ * @private
6
+ * constructs the complete create uiSchema for Hub Channels.
7
+ * This defines how the schema properties should be
8
+ * rendered in the channel editing experience
9
+ */
10
+ export declare const buildUiSchema: (i18nScope: string, _options: Partial<IHubChannel>, context: IArcGISContext) => Promise<IUiSchema>;
@@ -0,0 +1,10 @@
1
+ import { IUiSchema } from "../../core/schemas/types";
2
+ import { IArcGISContext } from "../../types";
3
+ import { IHubChannel } from "../../core/types";
4
+ /**
5
+ * @private
6
+ * constructs the complete edit uiSchema for Hub Channels.
7
+ * This defines how the schema properties should be
8
+ * rendered in the channel editing experience
9
+ */
10
+ export declare const buildUiSchema: (i18nScope: string, options: Partial<IHubChannel>, context: IArcGISContext) => Promise<IUiSchema>;
@@ -0,0 +1,8 @@
1
+ import { IHubChannel } from "../../core/types/IHubChannel";
2
+ /**
3
+ * @private
4
+ * Builds a partial IHubChannel object with default values
5
+ * @param orgId the currently authenticated user's orgId
6
+ * @returns a partial IHubChannel object
7
+ */
8
+ export declare function buildDefaultChannel(orgId: string): Partial<IHubChannel>;
@@ -0,0 +1,11 @@
1
+ import { IEntityPermissionPolicy } from "../../permissions/types/IEntityPermissionPolicy";
2
+ import { IChannelAclPermissionDefinition } from "../../discussions/api/types";
3
+ /**
4
+ * @private
5
+ * Transforms an IChannelAclPermission-like object to an IEntityPermissionPolicy object
6
+ * @param channelAclPermission An IChannelAclPermission-like object
7
+ * @returns an IEntityPermissionPolicy object
8
+ */
9
+ export declare const transformAclPermissionToEntityPermissionPolicy: (channelAclPermission: IChannelAclPermissionDefinition & {
10
+ id?: string;
11
+ }) => IEntityPermissionPolicy;
@@ -0,0 +1,11 @@
1
+ import { IHubChannel } from "../../core/types/IHubChannel";
2
+ import { IChannel } from "../../discussions/api/types";
3
+ import type { IUser } from "@esri/arcgis-rest-portal";
4
+ /**
5
+ * @private
6
+ * Transforms a given IChannel object to an IHubChannel object
7
+ * @param channel An IChannel object
8
+ * @param user The currently authenticated user
9
+ * @returns an IHubChannel object
10
+ */
11
+ export declare function transformChannelToEntity(channel: IChannel, user: IUser): IHubChannel;
@@ -0,0 +1,8 @@
1
+ import { IHubChannel, IHubChannelEditor } from "../../core/types/IHubChannel";
2
+ /**
3
+ * @private
4
+ * Transforms an IHubChannelEditor object to a partial IHubChannel object
5
+ * @param editor an IHubChannelEditor object
6
+ * @returns a partial IHubChannel object
7
+ */
8
+ export declare function transformEditorToEntity(editor: IHubChannelEditor): Partial<IHubChannel>;
@@ -0,0 +1,44 @@
1
+ import { HubEntityType } from "../../core/types";
2
+ import { IEntityPermissionPolicy } from "../../permissions/types/IEntityPermissionPolicy";
3
+ export interface IHubRoleConfigValue {
4
+ key: string;
5
+ entityId?: string;
6
+ entityType?: HubEntityType;
7
+ roles: Record<string, {
8
+ value: string;
9
+ id?: string;
10
+ }>;
11
+ }
12
+ /**
13
+ * @private
14
+ * Transforms an array of IEntityPermissionPolicy (Hub entity) objects to an array of IHubRoleConfigValue (entity editor) objects
15
+ * representing the channel's public (anonymous & authenticated) permissions
16
+ * @param permissionPolicies An array of IEntityPermissionPolicy objects
17
+ * @returns an array of IHubRoleConfigValue objects
18
+ */
19
+ export declare const transformEntityPermissionPoliciesToPublicFormValues: (permissionPolicies: IEntityPermissionPolicy[]) => IHubRoleConfigValue[];
20
+ /**
21
+ * @private
22
+ * Transforms an array of IEntityPermissionPolicy (Hub entity) objects to an array of IHubRoleConfigValue (entity editor) objects
23
+ * representing the channel's group (member & admin) permissions
24
+ * @param permissionPolicies An array of IEntityPermissionPolicy objects
25
+ * @returns an array of IHubRoleConfigValue objects
26
+ */
27
+ export declare const transformEntityPermissionPoliciesToGroupFormValues: (permissionPolicies: IEntityPermissionPolicy[]) => IHubRoleConfigValue[];
28
+ /**
29
+ * @private
30
+ * Transforms an array of IEntityPermissionPolicy (Hub entity) objects to an array of IHubRoleConfigValue (entity editor) objects
31
+ * representing the channel's org (member & admin) permissions
32
+ * @param permissionPolicies An array of IEntityPermissionPolicy objects
33
+ * @param defaultOrgId The current user's orgId
34
+ * @returns an array of IHubRoleConfigValue objects
35
+ */
36
+ export declare const transformEntityPermissionPoliciesToOrgFormValues: (permissionPolicies: IEntityPermissionPolicy[], defaultOrgId?: string) => IHubRoleConfigValue[];
37
+ /**
38
+ * @private
39
+ * Transforms an array of IEntityPermissionPolicy (Hub entity) objects to an array of IHubRoleConfigValue (entity editor) objects
40
+ * representing the channel's individual user permissions
41
+ * @param permissionPolicies An array of IEntityPermissionPolicy objects
42
+ * @returns an array of IHubRoleConfigValue objects
43
+ */
44
+ export declare const transformEntityPermissionPoliciesToUserFormValues: (permissionPolicies: IEntityPermissionPolicy[]) => IHubRoleConfigValue[];
@@ -0,0 +1,9 @@
1
+ import { IHubChannel } from "../../core/types/IHubChannel";
2
+ import { IUpdateChannelV2, ICreateChannelV2 } from "../../discussions/api/types";
3
+ /**
4
+ * @private
5
+ * Transforms an IHubChannel entity pojo object to an object that can be passed V2 channel create and update methods
6
+ * @param entity an IHubChannel object
7
+ * @returns an object that can be passed to V2 channel create and update methods
8
+ */
9
+ export declare function transformEntityToChannelData<T extends ICreateChannelV2 | IUpdateChannelV2>(entity: IHubChannel): T;
@@ -0,0 +1,9 @@
1
+ import { IHubChannel, IHubChannelEditor } from "../../core/types/IHubChannel";
2
+ import { IArcGISContext } from "../../types/IArcGISContext";
3
+ /**
4
+ * @private
5
+ * Transforms an IHubChannel entity pojo to an IHubChannelEditor object
6
+ * @param entity an IHubChannel object
7
+ * @returns an IHubChannelEditor object
8
+ */
9
+ export declare function transformEntityToEditor(entity: IHubChannel, context: IArcGISContext): IHubChannelEditor;
@@ -0,0 +1,9 @@
1
+ import { IEntityPermissionPolicy } from "../../permissions/types";
2
+ import { IHubRoleConfigValue } from "./transformEntityPermissionPoliciesToFormValues";
3
+ /**
4
+ * @private
5
+ * Transforms an array of IHubRoleConfigValue objects into an array of IEntityPermissionPolicy objects
6
+ * @param roleConfigs an array of IHubRoleConfigValue objects
7
+ * @returns an array of IEntityPermissionPolicy objects
8
+ */
9
+ export declare function transformFormValuesToEntityPermissionPolicies(roleConfigs: IHubRoleConfigValue[]): IEntityPermissionPolicy[];
@@ -0,0 +1,23 @@
1
+ import { IHubChannel } from "../core";
2
+ import { IArcGISContext } from "../types";
3
+ /**
4
+ * Creates a new Channel from the given IHubChannel object
5
+ * @param entity An IHubChannel object
6
+ * @param context ArcGIS context
7
+ * @returns a promise that resolves an IHubChannel representing the newly created channel
8
+ */
9
+ export declare function createHubChannel(entity: IHubChannel, context: IArcGISContext): Promise<IHubChannel>;
10
+ /**
11
+ * Updates an existing Channel from the given IHubChannel object
12
+ * @param entity An IHubChannel object
13
+ * @param context ArcGIS context
14
+ * @returns a promise that resolves an IHubChannel representing the updated channel
15
+ */
16
+ export declare function updateHubChannel(entity: IHubChannel, context: IArcGISContext): Promise<IHubChannel>;
17
+ /**
18
+ * Updates an existing Channel from the given IHubChannel object
19
+ * @param channelId The ID of the channel to delete
20
+ * @param context ArcGIS context
21
+ * @returns a promise
22
+ */
23
+ export declare function deleteHubChannel(channelId: string, context: IArcGISContext): Promise<void>;
@@ -0,0 +1,9 @@
1
+ import { IHubChannel } from "../core/types/IHubChannel";
2
+ import { IArcGISContext } from "../types";
3
+ /**
4
+ * Fetches a Channel for the given channelId
5
+ * @param channelId The ID of the channel to fetch
6
+ * @param context ArcGIS context
7
+ * @returns a promise that resolves an IHubChannel for the given channelId
8
+ */
9
+ export declare function fetchHubChannel(channelId: string, context: IArcGISContext): Promise<IHubChannel>;
@@ -0,0 +1,3 @@
1
+ export * from "./HubChannel";
2
+ export * from "./edit";
3
+ export * from "./fetch";
@@ -0,0 +1,11 @@
1
+ import type { IArcGISContext } from "../../../../types/IArcGISContext";
2
+ import { IUiSchema } from "../../types";
3
+ import { EntityEditorOptions } from "../EditorOptions";
4
+ /**
5
+ * Builds the UI Schema for the "settings => discussions" workspace pane
6
+ * @param i18nScope the i18n scope for translations
7
+ * @param options an EntityEditorOptions object
8
+ * @param context an IArcGISContext object
9
+ * @returns a promise that resolves a UI Schema object
10
+ */
11
+ export declare const buildUiSchema: (i18nScope: string, options: EntityEditorOptions, context: IArcGISContext) => Promise<IUiSchema>;
@@ -0,0 +1,91 @@
1
+ import { IChannel } from "../../discussions/api/types";
2
+ import { IEntityPermissionPolicy } from "../../permissions/types/IEntityPermissionPolicy";
3
+ import { IWithViewSettings } from "../traits/IWithViewSettings";
4
+ import { HubEntityType } from "./HubEntityType";
5
+ import { IHubEntityBase } from "./IHubEntityBase";
6
+ import { IHubLocation } from "./IHubLocation";
7
+ import { AccessLevel } from "./types";
8
+ /**
9
+ * Defines the properties of a Hub Channel object
10
+ */
11
+ export interface IHubChannel extends IHubEntityBase {
12
+ /**
13
+ * An array of blocked words. Posts & replies created/edited containing these words will result in the post status being automatically set to blocked
14
+ */
15
+ blockWords: string[];
16
+ /**
17
+ * An array of IEntityPermissionPolicy representing the configured permissions for the channel
18
+ */
19
+ permissions: IEntityPermissionPolicy[];
20
+ /**
21
+ * True when authenticated users can post pseudo-anonymously, masking their identity
22
+ */
23
+ allowAsAnonymous: boolean;
24
+ /**
25
+ * True when the currently authenticated user can edit the channel
26
+ */
27
+ canEdit: boolean;
28
+ /**
29
+ * True when the currently authenticated user can delete the channel
30
+ */
31
+ canDelete: boolean;
32
+ /**
33
+ * The ID of the organization the channel was created within
34
+ */
35
+ orgId: string;
36
+ /**
37
+ * The owner of the channel
38
+ */
39
+ owner: string;
40
+ /**
41
+ * A reference to the underlying IChannel object
42
+ */
43
+ channel: IChannel;
44
+ /**
45
+ * The access level of the channel
46
+ */
47
+ access: AccessLevel;
48
+ /**
49
+ * Typekeywords applied to the channel
50
+ */
51
+ typeKeywords: string[];
52
+ /**
53
+ * Thumbnail of the channel
54
+ */
55
+ thumbnail?: string;
56
+ /**
57
+ * View settings of the channel
58
+ */
59
+ view?: IWithViewSettings;
60
+ /**
61
+ * Description of the channel
62
+ */
63
+ description?: string;
64
+ /**
65
+ * Tags applied to the channel
66
+ */
67
+ tags: string[];
68
+ /**
69
+ * The location of the channel
70
+ */
71
+ location?: IHubLocation;
72
+ }
73
+ export interface IHubRoleConfigValue {
74
+ key: string;
75
+ entityId?: string;
76
+ entityType?: HubEntityType;
77
+ roles: Record<string, {
78
+ value: string;
79
+ id?: string;
80
+ }>;
81
+ }
82
+ export interface IHubChannelEditor {
83
+ id: string;
84
+ name: string;
85
+ blockWords: string;
86
+ publicConfigs: IHubRoleConfigValue[];
87
+ orgConfigs: IHubRoleConfigValue[];
88
+ groupConfigs: IHubRoleConfigValue[];
89
+ userConfigs: IHubRoleConfigValue[];
90
+ allowAsAnonymous: boolean;
91
+ }