@esri/hub-common 13.37.2 → 13.38.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 (234) hide show
  1. package/dist/esm/ArcGISContext.js +31 -0
  2. package/dist/esm/ArcGISContext.js.map +1 -1
  3. package/dist/esm/ArcGISContextManager.js +44 -0
  4. package/dist/esm/ArcGISContextManager.js.map +1 -1
  5. package/dist/esm/capabilities/_internal/checkCapabilityAccess.js +2 -0
  6. package/dist/esm/capabilities/_internal/checkCapabilityAccess.js.map +1 -1
  7. package/dist/esm/capabilities/checkCapability.js +2 -0
  8. package/dist/esm/capabilities/checkCapability.js.map +1 -1
  9. package/dist/esm/capabilities/getWorkspaceCapabilities.js +3 -1
  10. package/dist/esm/capabilities/getWorkspaceCapabilities.js.map +1 -1
  11. package/dist/esm/capabilities/processEntityCapabilities.js +2 -0
  12. package/dist/esm/capabilities/processEntityCapabilities.js.map +1 -1
  13. package/dist/esm/content/_internal/ContentBusinessRules.js +6 -6
  14. package/dist/esm/content/_internal/ContentBusinessRules.js.map +1 -1
  15. package/dist/esm/content/_internal/getPropertyMap.js +1 -0
  16. package/dist/esm/content/_internal/getPropertyMap.js.map +1 -1
  17. package/dist/esm/core/EntityEditor.js +4 -0
  18. package/dist/esm/core/EntityEditor.js.map +1 -1
  19. package/dist/esm/core/HubItemEntity.js +3 -0
  20. package/dist/esm/core/HubItemEntity.js.map +1 -1
  21. package/dist/esm/core/_internal/getBasePropertyMap.js +1 -0
  22. package/dist/esm/core/_internal/getBasePropertyMap.js.map +1 -1
  23. package/dist/esm/core/schemas/getEntityEditorSchemas.js +7 -0
  24. package/dist/esm/core/schemas/getEntityEditorSchemas.js.map +1 -1
  25. package/dist/esm/core/schemas/internal/getEditorConfigOptions.js +6 -0
  26. package/dist/esm/core/schemas/internal/getEditorConfigOptions.js.map +1 -1
  27. package/dist/esm/core/schemas/internal/getEntityEditorSchemas.js +7 -0
  28. package/dist/esm/core/schemas/internal/getEntityEditorSchemas.js.map +1 -1
  29. package/dist/esm/core/schemas/types.js +2 -0
  30. package/dist/esm/core/schemas/types.js.map +1 -1
  31. package/dist/esm/core/types/ISystemStatus.js +20 -0
  32. package/dist/esm/core/types/ISystemStatus.js.map +1 -1
  33. package/dist/esm/core/types/index.js +1 -0
  34. package/dist/esm/core/types/index.js.map +1 -1
  35. package/dist/esm/discussions/_internal/DiscussionBusinessRules.js +11 -4
  36. package/dist/esm/discussions/_internal/DiscussionBusinessRules.js.map +1 -1
  37. package/dist/esm/groups/HubGroup.js +78 -0
  38. package/dist/esm/groups/HubGroup.js.map +1 -1
  39. package/dist/esm/groups/HubGroups.js +2 -36
  40. package/dist/esm/groups/HubGroups.js.map +1 -1
  41. package/dist/esm/groups/_internal/GroupBusinessRules.js +12 -6
  42. package/dist/esm/groups/_internal/GroupBusinessRules.js.map +1 -1
  43. package/dist/esm/groups/_internal/GroupSchema.js +17 -0
  44. package/dist/esm/groups/_internal/GroupSchema.js.map +1 -0
  45. package/dist/esm/groups/_internal/GroupUiSchemaEdit.js +58 -0
  46. package/dist/esm/groups/_internal/GroupUiSchemaEdit.js.map +1 -0
  47. package/dist/esm/groups/_internal/convertGroupToHubGroup.js +14 -0
  48. package/dist/esm/groups/_internal/convertGroupToHubGroup.js.map +1 -0
  49. package/dist/esm/groups/_internal/convertHubGroupToGroup.js +26 -0
  50. package/dist/esm/groups/_internal/convertHubGroupToGroup.js.map +1 -0
  51. package/dist/esm/groups/deleteGroupThumbnail.js +14 -0
  52. package/dist/esm/groups/deleteGroupThumbnail.js.map +1 -0
  53. package/dist/esm/groups/setGroupThumbnail.js +32 -0
  54. package/dist/esm/groups/setGroupThumbnail.js.map +1 -0
  55. package/dist/esm/initiatives/_internal/InitiativeBusinessRules.js +36 -8
  56. package/dist/esm/initiatives/_internal/InitiativeBusinessRules.js.map +1 -1
  57. package/dist/esm/initiatives/_internal/computeProps.js +8 -2
  58. package/dist/esm/initiatives/_internal/computeProps.js.map +1 -1
  59. package/dist/esm/initiatives/defaults.js +2 -0
  60. package/dist/esm/initiatives/defaults.js.map +1 -1
  61. package/dist/esm/pages/_internal/PageBusinessRules.js +17 -11
  62. package/dist/esm/pages/_internal/PageBusinessRules.js.map +1 -1
  63. package/dist/esm/pages/_internal/computeProps.js +9 -2
  64. package/dist/esm/pages/_internal/computeProps.js.map +1 -1
  65. package/dist/esm/permissions/_internal/checkAlphaGating.js +3 -1
  66. package/dist/esm/permissions/_internal/checkAlphaGating.js.map +1 -1
  67. package/dist/esm/permissions/_internal/checkAvailability.js +46 -0
  68. package/dist/esm/permissions/_internal/checkAvailability.js.map +1 -0
  69. package/dist/esm/permissions/_internal/checkEntityFeature.js +26 -0
  70. package/dist/esm/permissions/_internal/checkEntityFeature.js.map +1 -0
  71. package/dist/esm/permissions/_internal/checkEnvironment.js +28 -0
  72. package/dist/esm/permissions/_internal/checkEnvironment.js.map +1 -0
  73. package/dist/esm/permissions/_internal/checkParents.js +23 -0
  74. package/dist/esm/permissions/_internal/checkParents.js.map +1 -0
  75. package/dist/esm/permissions/_internal/checkServiceStatus.js +24 -0
  76. package/dist/esm/permissions/_internal/checkServiceStatus.js.map +1 -0
  77. package/dist/esm/permissions/_internal/getPolicyResponseCode.js +8 -0
  78. package/dist/esm/permissions/_internal/getPolicyResponseCode.js.map +1 -1
  79. package/dist/esm/permissions/_internal/processEntityFeatures.js +26 -0
  80. package/dist/esm/permissions/_internal/processEntityFeatures.js.map +1 -0
  81. package/dist/esm/permissions/checkPermission.js +10 -0
  82. package/dist/esm/permissions/checkPermission.js.map +1 -1
  83. package/dist/esm/projects/_internal/ProjectBusinessRules.js +37 -11
  84. package/dist/esm/projects/_internal/ProjectBusinessRules.js.map +1 -1
  85. package/dist/esm/projects/_internal/computeProps.js +8 -2
  86. package/dist/esm/projects/_internal/computeProps.js.map +1 -1
  87. package/dist/esm/projects/defaults.js +2 -0
  88. package/dist/esm/projects/defaults.js.map +1 -1
  89. package/dist/esm/sites/_internal/SiteBusinessRules.js +37 -8
  90. package/dist/esm/sites/_internal/SiteBusinessRules.js.map +1 -1
  91. package/dist/esm/sites/_internal/computeProps.js +8 -2
  92. package/dist/esm/sites/_internal/computeProps.js.map +1 -1
  93. package/dist/esm/sites/defaults.js +2 -0
  94. package/dist/esm/sites/defaults.js.map +1 -1
  95. package/dist/esm/utils/getEnvironmentFromPortalUrl.js +20 -0
  96. package/dist/esm/utils/getEnvironmentFromPortalUrl.js.map +1 -0
  97. package/dist/esm/utils/index.js +1 -0
  98. package/dist/esm/utils/index.js.map +1 -1
  99. package/dist/node/ArcGISContext.js +31 -0
  100. package/dist/node/ArcGISContext.js.map +1 -1
  101. package/dist/node/ArcGISContextManager.js +44 -0
  102. package/dist/node/ArcGISContextManager.js.map +1 -1
  103. package/dist/node/capabilities/_internal/checkCapabilityAccess.js +2 -0
  104. package/dist/node/capabilities/_internal/checkCapabilityAccess.js.map +1 -1
  105. package/dist/node/capabilities/checkCapability.js +2 -0
  106. package/dist/node/capabilities/checkCapability.js.map +1 -1
  107. package/dist/node/capabilities/getWorkspaceCapabilities.js +3 -1
  108. package/dist/node/capabilities/getWorkspaceCapabilities.js.map +1 -1
  109. package/dist/node/capabilities/processEntityCapabilities.js +2 -0
  110. package/dist/node/capabilities/processEntityCapabilities.js.map +1 -1
  111. package/dist/node/content/_internal/ContentBusinessRules.js +6 -6
  112. package/dist/node/content/_internal/ContentBusinessRules.js.map +1 -1
  113. package/dist/node/content/_internal/getPropertyMap.js +1 -0
  114. package/dist/node/content/_internal/getPropertyMap.js.map +1 -1
  115. package/dist/node/core/EntityEditor.js +4 -0
  116. package/dist/node/core/EntityEditor.js.map +1 -1
  117. package/dist/node/core/HubItemEntity.js +3 -0
  118. package/dist/node/core/HubItemEntity.js.map +1 -1
  119. package/dist/node/core/_internal/getBasePropertyMap.js +1 -0
  120. package/dist/node/core/_internal/getBasePropertyMap.js.map +1 -1
  121. package/dist/node/core/schemas/getEntityEditorSchemas.js +7 -0
  122. package/dist/node/core/schemas/getEntityEditorSchemas.js.map +1 -1
  123. package/dist/node/core/schemas/internal/getEditorConfigOptions.js +6 -0
  124. package/dist/node/core/schemas/internal/getEditorConfigOptions.js.map +1 -1
  125. package/dist/node/core/schemas/internal/getEntityEditorSchemas.js +7 -0
  126. package/dist/node/core/schemas/internal/getEntityEditorSchemas.js.map +1 -1
  127. package/dist/node/core/schemas/types.js +2 -0
  128. package/dist/node/core/schemas/types.js.map +1 -1
  129. package/dist/node/core/types/ISystemStatus.js +22 -1
  130. package/dist/node/core/types/ISystemStatus.js.map +1 -1
  131. package/dist/node/core/types/index.js +1 -0
  132. package/dist/node/core/types/index.js.map +1 -1
  133. package/dist/node/discussions/_internal/DiscussionBusinessRules.js +11 -4
  134. package/dist/node/discussions/_internal/DiscussionBusinessRules.js.map +1 -1
  135. package/dist/node/groups/HubGroup.js +78 -0
  136. package/dist/node/groups/HubGroup.js.map +1 -1
  137. package/dist/node/groups/HubGroups.js +6 -40
  138. package/dist/node/groups/HubGroups.js.map +1 -1
  139. package/dist/node/groups/_internal/GroupBusinessRules.js +12 -6
  140. package/dist/node/groups/_internal/GroupBusinessRules.js.map +1 -1
  141. package/dist/node/groups/_internal/GroupSchema.js +20 -0
  142. package/dist/node/groups/_internal/GroupSchema.js.map +1 -0
  143. package/dist/node/groups/_internal/GroupUiSchemaEdit.js +61 -0
  144. package/dist/node/groups/_internal/GroupUiSchemaEdit.js.map +1 -0
  145. package/dist/node/groups/_internal/convertGroupToHubGroup.js +18 -0
  146. package/dist/node/groups/_internal/convertGroupToHubGroup.js.map +1 -0
  147. package/dist/node/groups/_internal/convertHubGroupToGroup.js +30 -0
  148. package/dist/node/groups/_internal/convertHubGroupToGroup.js.map +1 -0
  149. package/dist/node/groups/deleteGroupThumbnail.js +18 -0
  150. package/dist/node/groups/deleteGroupThumbnail.js.map +1 -0
  151. package/dist/node/groups/setGroupThumbnail.js +36 -0
  152. package/dist/node/groups/setGroupThumbnail.js.map +1 -0
  153. package/dist/node/initiatives/_internal/InitiativeBusinessRules.js +37 -9
  154. package/dist/node/initiatives/_internal/InitiativeBusinessRules.js.map +1 -1
  155. package/dist/node/initiatives/_internal/computeProps.js +7 -1
  156. package/dist/node/initiatives/_internal/computeProps.js.map +1 -1
  157. package/dist/node/initiatives/defaults.js +2 -0
  158. package/dist/node/initiatives/defaults.js.map +1 -1
  159. package/dist/node/pages/_internal/PageBusinessRules.js +18 -12
  160. package/dist/node/pages/_internal/PageBusinessRules.js.map +1 -1
  161. package/dist/node/pages/_internal/computeProps.js +8 -1
  162. package/dist/node/pages/_internal/computeProps.js.map +1 -1
  163. package/dist/node/permissions/_internal/checkAlphaGating.js +3 -1
  164. package/dist/node/permissions/_internal/checkAlphaGating.js.map +1 -1
  165. package/dist/node/permissions/_internal/checkAvailability.js +50 -0
  166. package/dist/node/permissions/_internal/checkAvailability.js.map +1 -0
  167. package/dist/node/permissions/_internal/checkEntityFeature.js +30 -0
  168. package/dist/node/permissions/_internal/checkEntityFeature.js.map +1 -0
  169. package/dist/node/permissions/_internal/checkEnvironment.js +32 -0
  170. package/dist/node/permissions/_internal/checkEnvironment.js.map +1 -0
  171. package/dist/node/permissions/_internal/checkParents.js +27 -0
  172. package/dist/node/permissions/_internal/checkParents.js.map +1 -0
  173. package/dist/node/permissions/_internal/checkServiceStatus.js +28 -0
  174. package/dist/node/permissions/_internal/checkServiceStatus.js.map +1 -0
  175. package/dist/node/permissions/_internal/getPolicyResponseCode.js +8 -0
  176. package/dist/node/permissions/_internal/getPolicyResponseCode.js.map +1 -1
  177. package/dist/node/permissions/_internal/processEntityFeatures.js +30 -0
  178. package/dist/node/permissions/_internal/processEntityFeatures.js.map +1 -0
  179. package/dist/node/permissions/checkPermission.js +10 -0
  180. package/dist/node/permissions/checkPermission.js.map +1 -1
  181. package/dist/node/projects/_internal/ProjectBusinessRules.js +38 -12
  182. package/dist/node/projects/_internal/ProjectBusinessRules.js.map +1 -1
  183. package/dist/node/projects/_internal/computeProps.js +7 -1
  184. package/dist/node/projects/_internal/computeProps.js.map +1 -1
  185. package/dist/node/projects/defaults.js +2 -0
  186. package/dist/node/projects/defaults.js.map +1 -1
  187. package/dist/node/sites/_internal/SiteBusinessRules.js +38 -9
  188. package/dist/node/sites/_internal/SiteBusinessRules.js.map +1 -1
  189. package/dist/node/sites/_internal/computeProps.js +7 -1
  190. package/dist/node/sites/_internal/computeProps.js.map +1 -1
  191. package/dist/node/sites/defaults.js +2 -0
  192. package/dist/node/sites/defaults.js.map +1 -1
  193. package/dist/node/utils/getEnvironmentFromPortalUrl.js +24 -0
  194. package/dist/node/utils/getEnvironmentFromPortalUrl.js.map +1 -0
  195. package/dist/node/utils/index.js +1 -0
  196. package/dist/node/utils/index.js.map +1 -1
  197. package/dist/types/ArcGISContext.d.ts +37 -4
  198. package/dist/types/ArcGISContextManager.d.ts +8 -2
  199. package/dist/types/capabilities/getWorkspaceCapabilities.d.ts +1 -1
  200. package/dist/types/content/_internal/ContentBusinessRules.d.ts +3 -0
  201. package/dist/types/content/_internal/internalContentUtils.d.ts +2 -1
  202. package/dist/types/core/HubItemEntity.d.ts +1 -0
  203. package/dist/types/core/behaviors/IWithPermissionBehavior.d.ts +3 -0
  204. package/dist/types/core/schemas/types.d.ts +1 -1
  205. package/dist/types/core/traits/IWithPermissions.d.ts +9 -1
  206. package/dist/types/core/types/IHubGroup.d.ts +16 -2
  207. package/dist/types/core/types/IHubItemEntity.d.ts +4 -0
  208. package/dist/types/core/types/ISystemStatus.d.ts +17 -0
  209. package/dist/types/core/types/index.d.ts +1 -0
  210. package/dist/types/discussions/_internal/DiscussionBusinessRules.d.ts +3 -1
  211. package/dist/types/groups/HubGroup.d.ts +20 -2
  212. package/dist/types/groups/_internal/GroupBusinessRules.d.ts +3 -1
  213. package/dist/types/groups/_internal/GroupSchema.d.ts +7 -0
  214. package/dist/types/groups/_internal/GroupUiSchemaEdit.d.ts +7 -0
  215. package/dist/types/groups/_internal/convertGroupToHubGroup.d.ts +9 -0
  216. package/dist/types/groups/_internal/convertHubGroupToGroup.d.ts +7 -0
  217. package/dist/types/groups/deleteGroupThumbnail.d.ts +9 -0
  218. package/dist/types/groups/setGroupThumbnail.d.ts +9 -0
  219. package/dist/types/initiatives/_internal/InitiativeBusinessRules.d.ts +6 -2
  220. package/dist/types/pages/_internal/PageBusinessRules.d.ts +8 -2
  221. package/dist/types/permissions/_internal/checkAlphaGating.d.ts +1 -1
  222. package/dist/types/permissions/_internal/checkAvailability.d.ts +13 -0
  223. package/dist/types/permissions/_internal/checkEntityFeature.d.ts +4 -0
  224. package/dist/types/permissions/_internal/checkEnvironment.d.ts +13 -0
  225. package/dist/types/permissions/_internal/checkParents.d.ts +12 -0
  226. package/dist/types/permissions/_internal/checkServiceStatus.d.ts +4 -0
  227. package/dist/types/permissions/_internal/processEntityFeatures.d.ts +9 -0
  228. package/dist/types/permissions/types/IPermissionPolicy.d.ts +55 -4
  229. package/dist/types/permissions/types/PolicyResponse.d.ts +1 -1
  230. package/dist/types/projects/_internal/ProjectBusinessRules.d.ts +8 -2
  231. package/dist/types/sites/_internal/SiteBusinessRules.d.ts +9 -2
  232. package/dist/types/utils/getEnvironmentFromPortalUrl.d.ts +2 -0
  233. package/dist/types/utils/index.d.ts +1 -0
  234. package/package.json +1 -1
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEFAULT_PROJECT_MODEL = exports.DEFAULT_PROJECT = exports.HUB_PROJECT_ITEM_TYPE = void 0;
4
4
  const core_1 = require("../core");
5
+ const InitiativeBusinessRules_1 = require("../initiatives/_internal/InitiativeBusinessRules");
5
6
  exports.HUB_PROJECT_ITEM_TYPE = "Hub Project";
6
7
  /**
7
8
  * Default values of a IHubProject
@@ -19,6 +20,7 @@ exports.DEFAULT_PROJECT = {
19
20
  featuredContentIds: [],
20
21
  showMap: true,
21
22
  },
23
+ features: InitiativeBusinessRules_1.InitiativeDefaultFeatures,
22
24
  };
23
25
  /**
24
26
  * Default values for a new HubProject Model
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/projects/defaults.ts"],"names":[],"mappings":";;;AAAA,kCAAwD;AAG3C,QAAA,qBAAqB,GAAG,aAAa,CAAC;AAEnD;;GAEG;AACU,QAAA,eAAe,GAAyB;IACnD,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;IAC7B,IAAI,EAAE,EAAE;IACR,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,CAAC;IAChB,MAAM,EAAE,uBAAgB,CAAC,UAAU;IACnC,IAAI,EAAE,EAAE;IACR,YAAY,EAAE,CAAC,6BAAqB,CAAC;IACrC,IAAI,EAAE;QACJ,QAAQ,EAAE,EAAE;QACZ,kBAAkB,EAAE,EAAE;QACtB,OAAO,EAAE,IAAI;KACd;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,qBAAqB,GAAW;IAC3C,IAAI,EAAE;QACJ,IAAI,EAAE,6BAAqB;QAC3B,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,CAAC,6BAAqB,CAAC;QACrC,UAAU,EAAE;YACV,IAAI,EAAE,EAAE;YACR,aAAa,EAAE,CAAC;SACjB;KACF;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,EAAE;QACf,MAAM,EAAE,uBAAgB,CAAC,UAAU;QACnC,IAAI,EAAE;YACJ,QAAQ,EAAE,EAAE;YACZ,kBAAkB,EAAE,EAAE;YACtB,OAAO,EAAE,IAAI;SACd;KACF;CACmB,CAAC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/projects/defaults.ts"],"names":[],"mappings":";;;AAAA,kCAAwD;AACxD,8FAA6F;AAGhF,QAAA,qBAAqB,GAAG,aAAa,CAAC;AAEnD;;GAEG;AACU,QAAA,eAAe,GAAyB;IACnD,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;IAC7B,IAAI,EAAE,EAAE;IACR,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,CAAC;IAChB,MAAM,EAAE,uBAAgB,CAAC,UAAU;IACnC,IAAI,EAAE,EAAE;IACR,YAAY,EAAE,CAAC,6BAAqB,CAAC;IACrC,IAAI,EAAE;QACJ,QAAQ,EAAE,EAAE;QACZ,kBAAkB,EAAE,EAAE;QACtB,OAAO,EAAE,IAAI;KACd;IACD,QAAQ,EAAE,mDAAyB;CACpC,CAAC;AAEF;;GAEG;AACU,QAAA,qBAAqB,GAAW;IAC3C,IAAI,EAAE;QACJ,IAAI,EAAE,6BAAqB;QAC3B,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,CAAC,6BAAqB,CAAC;QACrC,UAAU,EAAE;YACV,IAAI,EAAE,EAAE;YACR,aAAa,EAAE,CAAC;SACjB;KACF;IACD,IAAI,EAAE;QACJ,OAAO,EAAE,OAAO;QAChB,WAAW,EAAE,EAAE;QACf,MAAM,EAAE,uBAAgB,CAAC,UAAU;QACnC,IAAI,EAAE;YACJ,QAAQ,EAAE,EAAE;YACZ,kBAAkB,EAAE,EAAE;YACtB,OAAO,EAAE,IAAI;SACd;KACF;CACmB,CAAC"}
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SiteVersionIncludeList = exports.SitesPermissionPolicies = exports.SitePermissions = exports.SiteCapabilityPermissions = exports.SiteDefaultCapabilities = void 0;
3
+ exports.SiteVersionIncludeList = exports.SitesPermissionPolicies = exports.SitePermissions = exports.SiteDefaultFeatures = exports.SiteCapabilityPermissions = exports.SiteDefaultCapabilities = void 0;
4
4
  /**
5
+ * DEPRECATED
5
6
  * Default capabilities for a Site. If not listed here, the capability will not be available
6
7
  * This hash is combined with the capabilities hash stored in the item data. Regardless of what
7
8
  * properties are defined in the item data, only the capabilities defined here will be available
@@ -15,9 +16,11 @@ exports.SiteDefaultCapabilities = {
15
16
  dashboard: true,
16
17
  };
17
18
  /**
19
+ * DEPRECATED
18
20
  * List of all the Site Capability Permissions
19
21
  * These are considered Hub Business Rules and are not intended
20
22
  * to be modified by consumers
23
+ * @private
21
24
  */
22
25
  exports.SiteCapabilityPermissions = [
23
26
  {
@@ -46,47 +49,73 @@ exports.SiteCapabilityPermissions = [
46
49
  permissions: ["hub:site:edit"],
47
50
  },
48
51
  ];
52
+ /**
53
+ * Default features for a Site. These are the features that can be enabled / disabled by the entity owner
54
+ */
55
+ exports.SiteDefaultFeatures = {
56
+ "hub:site:events": false,
57
+ "hub:site:content": true,
58
+ "hub:site:discussions": false,
59
+ };
49
60
  /**
50
61
  * Site Permissions
51
62
  * This feeds into the Permissions type
52
63
  */
53
64
  exports.SitePermissions = [
65
+ "hub:site",
54
66
  "hub:site:create",
55
67
  "hub:site:delete",
56
68
  "hub:site:edit",
57
69
  "hub:site:view",
70
+ "hub:site:owner",
71
+ "hub:site:events",
72
+ "hub:site:content",
73
+ "hub:site:discussions",
58
74
  ];
59
75
  /**
60
76
  * Site permission policies
61
77
  * @private
62
78
  */
63
79
  exports.SitesPermissionPolicies = [
80
+ {
81
+ permission: "hub:site",
82
+ services: ["portal"],
83
+ licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
84
+ },
64
85
  {
65
86
  permission: "hub:site:create",
66
- subsystems: ["sites"],
87
+ dependencies: ["hub:site"],
67
88
  authenticated: true,
68
89
  privileges: ["portal:user:createItem"],
69
- licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
70
90
  },
71
91
  {
72
92
  permission: "hub:site:view",
73
- subsystems: ["sites"],
93
+ dependencies: ["hub:site"],
74
94
  authenticated: false,
75
- licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
76
95
  },
77
96
  {
78
97
  permission: "hub:site:delete",
79
- subsystems: ["sites"],
98
+ dependencies: ["hub:site"],
80
99
  authenticated: true,
81
- licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
82
100
  entityOwner: true,
83
101
  },
84
102
  {
85
103
  permission: "hub:site:edit",
86
104
  entityEdit: true,
87
- subsystems: ["sites"],
105
+ dependencies: ["hub:site"],
88
106
  authenticated: true,
89
- licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
107
+ },
108
+ {
109
+ permission: "hub:site:events",
110
+ dependencies: ["hub:site:view"],
111
+ },
112
+ {
113
+ permission: "hub:site:content",
114
+ dependencies: ["hub:site:edit"],
115
+ },
116
+ {
117
+ permission: "hub:site:discussions",
118
+ dependencies: ["hub:site:view"],
90
119
  },
91
120
  ];
92
121
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SiteBusinessRules.js","sourceRoot":"","sources":["../../../../src/sites/_internal/SiteBusinessRules.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AACU,QAAA,uBAAuB,GAAuB;IACzD,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,IAAI;CAChB,CAAC;AAEF;;;;GAIG;AACU,QAAA,yBAAyB,GAA4B;IAChE;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;IACD;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;IACD;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;KAChD;IACD;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;IACD;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,WAAW;QACvB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;CACF,CAAC;AAEF;;;GAGG;AACU,QAAA,eAAe,GAAG;IAC7B,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,eAAe;CACP,CAAC;AAEX;;;GAGG;AACU,QAAA,uBAAuB,GAAwB;IAC1D;QACE,UAAU,EAAE,iBAAiB;QAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,wBAAwB,CAAC;QACtC,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;IACD;QACE,UAAU,EAAE,iBAAiB;QAC7B,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;QAC1D,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,UAAU,EAAE,IAAI;QAChB,UAAU,EAAE,CAAC,OAAO,CAAC;QACrB,aAAa,EAAE,IAAI;QACnB,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,sBAAsB,GAAG;IACpC,oBAAoB;IACpB,mBAAmB;IACnB,yBAAyB;CAC1B,CAAC"}
1
+ {"version":3,"file":"SiteBusinessRules.js","sourceRoot":"","sources":["../../../../src/sites/_internal/SiteBusinessRules.ts"],"names":[],"mappings":";;;AAGA;;;;;;GAMG;AACU,QAAA,uBAAuB,GAAuB;IACzD,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,IAAI;CAChB,CAAC;AAEF;;;;;;GAMG;AACU,QAAA,yBAAyB,GAA4B;IAChE;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;IACD;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;IACD;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,eAAe,EAAE,eAAe,CAAC;KAChD;IACD;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;IACD;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,WAAW;QACvB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,mBAAmB,GAAoB;IAClD,iBAAiB,EAAE,KAAK;IACxB,kBAAkB,EAAE,IAAI;IACxB,sBAAsB,EAAE,KAAK;CAC9B,CAAC;AAEF;;;GAGG;AACU,QAAA,eAAe,GAAG;IAC7B,UAAU;IACV,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,eAAe;IACf,gBAAgB;IAChB,iBAAiB;IACjB,kBAAkB;IAClB,sBAAsB;CACd,CAAC;AAEX;;;GAGG;AACU,QAAA,uBAAuB,GAAwB;IAC1D;QACE,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;IACD;QACE,UAAU,EAAE,iBAAiB;QAC7B,YAAY,EAAE,CAAC,UAAU,CAAC;QAC1B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,wBAAwB,CAAC;KACvC;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,YAAY,EAAE,CAAC,UAAU,CAAC;QAC1B,aAAa,EAAE,KAAK;KACrB;IACD;QACE,UAAU,EAAE,iBAAiB;QAC7B,YAAY,EAAE,CAAC,UAAU,CAAC;QAC1B,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,UAAU,EAAE,IAAI;QAChB,YAAY,EAAE,CAAC,UAAU,CAAC;QAC1B,aAAa,EAAE,IAAI;KACpB;IACD;QACE,UAAU,EAAE,iBAAiB;QAC7B,YAAY,EAAE,CAAC,eAAe,CAAC;KAChC;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,YAAY,EAAE,CAAC,eAAe,CAAC;KAChC;IACD;QACE,UAAU,EAAE,sBAAsB;QAClC,YAAY,EAAE,CAAC,eAAe,CAAC;KAChC;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,sBAAsB,GAAG;IACpC,oBAAoB;IACpB,mBAAmB;IACnB,yBAAyB;CAC1B,CAAC"}
@@ -6,6 +6,7 @@ const SiteBusinessRules_1 = require("./SiteBusinessRules");
6
6
  const capabilities_1 = require("../../capabilities");
7
7
  const upgradeCatalogSchema_1 = require("../../search/upgradeCatalogSchema");
8
8
  const discussions_1 = require("../../discussions");
9
+ const processEntityFeatures_1 = require("../../permissions/_internal/processEntityFeatures");
9
10
  /**
10
11
  * Given a model and a site, set various computed properties that can't be directly mapped
11
12
  * @private
@@ -15,7 +16,7 @@ const discussions_1 = require("../../discussions");
15
16
  * @returns
16
17
  */
17
18
  function computeProps(model, site, requestOptions) {
18
- var _a;
19
+ var _a, _b;
19
20
  let token;
20
21
  if (requestOptions.authentication) {
21
22
  const session = requestOptions.authentication;
@@ -31,7 +32,12 @@ function computeProps(model, site, requestOptions) {
31
32
  site.isDiscussable = discussions_1.isDiscussable(site);
32
33
  // Handle capabilities
33
34
  // NOTE: This does not currently contain the older "capabilities" values!
35
+ // TODO: Remove capabilities
34
36
  site.capabilities = capabilities_1.processEntityCapabilities(((_a = model.data.settings) === null || _a === void 0 ? void 0 : _a.capabilities) || {}, SiteBusinessRules_1.SiteDefaultCapabilities);
37
+ /**
38
+ * Features that can be disabled by the entity owner
39
+ */
40
+ site.features = processEntityFeatures_1.processEntityFeatures(((_b = model.data.settings) === null || _b === void 0 ? void 0 : _b.features) || {}, SiteBusinessRules_1.SiteDefaultFeatures);
35
41
  // Perform schema upgrades on the new catalog structure
36
42
  site.catalog = upgradeCatalogSchema_1.upgradeCatalogSchema(site.catalog);
37
43
  // cast b/c this takes a partial but returns a full site
@@ -1 +1 @@
1
- {"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/sites/_internal/computeProps.ts"],"names":[],"mappings":";;;AAEA,+CAAsD;AAGtD,2DAA8D;AAC9D,qDAA+D;AAC/D,4EAAyE;AACzE,mDAAkD;AAElD;;;;;;;GAOG;AACH,SAAgB,YAAY,CAC1B,KAAa,EACb,IAAuB,EACvB,cAA+B;;IAE/B,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IACD,gBAAgB;IAChB,IAAI,CAAC,YAAY,GAAG,+BAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAE3E,eAAe;IACf,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC;IACxC,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC;IACzC,IAAI,CAAC,aAAa,GAAG,2BAAa,CAAC,IAAI,CAAC,CAAC;IAEzC,sBAAsB;IACtB,yEAAyE;IACzE,IAAI,CAAC,YAAY,GAAG,wCAAyB,CAC3C,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,YAAY,KAAI,EAAE,EACvC,2CAAuB,CACxB,CAAC;IAEF,uDAAuD;IACvD,IAAI,CAAC,OAAO,GAAG,2CAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAElD,wDAAwD;IACxD,OAAO,IAAgB,CAAC;AAC1B,CAAC;AAhCD,oCAgCC"}
1
+ {"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/sites/_internal/computeProps.ts"],"names":[],"mappings":";;;AAEA,+CAAsD;AAGtD,2DAG6B;AAC7B,qDAA+D;AAC/D,4EAAyE;AACzE,mDAAkD;AAClD,6FAA0F;AAE1F;;;;;;;GAOG;AACH,SAAgB,YAAY,CAC1B,KAAa,EACb,IAAuB,EACvB,cAA+B;;IAE/B,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IACD,gBAAgB;IAChB,IAAI,CAAC,YAAY,GAAG,+BAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAE3E,eAAe;IACf,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC;IACxC,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC;IACzC,IAAI,CAAC,aAAa,GAAG,2BAAa,CAAC,IAAI,CAAC,CAAC;IAEzC,sBAAsB;IACtB,yEAAyE;IACzE,4BAA4B;IAC5B,IAAI,CAAC,YAAY,GAAG,wCAAyB,CAC3C,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,YAAY,KAAI,EAAE,EACvC,2CAAuB,CACxB,CAAC;IAEF;;OAEG;IACH,IAAI,CAAC,QAAQ,GAAG,6CAAqB,CACnC,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,QAAQ,KAAI,EAAE,EACnC,uCAAmB,CACpB,CAAC;IAEF,uDAAuD;IACvD,IAAI,CAAC,OAAO,GAAG,2CAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAElD,wDAAwD;IACxD,OAAO,IAAgB,CAAC;AAC1B,CAAC;AAzCD,oCAyCC"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DEFAULT_SITE_MODEL = exports.DEFAULT_SITE = exports.HUB_SITE_ITEM_TYPE = void 0;
4
+ const SiteBusinessRules_1 = require("./_internal/SiteBusinessRules");
4
5
  exports.HUB_SITE_ITEM_TYPE = "Hub Site Application";
5
6
  /**
6
7
  * Default values of a IHubSite
@@ -12,6 +13,7 @@ exports.DEFAULT_SITE = {
12
13
  catalog: { schemaVersion: 0 },
13
14
  permissions: [],
14
15
  schemaVersion: 1,
16
+ features: SiteBusinessRules_1.SiteDefaultFeatures,
15
17
  };
16
18
  /**
17
19
  * Default values for a new HubProject Model
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/sites/defaults.ts"],"names":[],"mappings":";;;AAGa,QAAA,kBAAkB,GAAG,sBAAsB,CAAC;AAEzD;;GAEG;AACU,QAAA,YAAY,GAAsB;IAC7C,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,EAAE;IACR,YAAY,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;IACrC,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;IAC7B,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,CAAC;CACjB,CAAC;AAEF;;GAEG;AACU,QAAA,kBAAkB,GAAW;IACxC,IAAI,EAAE;QACJ,IAAI,EAAE,0BAAkB;QACxB,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;QACrC,UAAU,EAAE;YACV,IAAI,EAAE,EAAE;YACR,aAAa,EAAE,CAAC;SACjB;KACF;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,EAAE;KACX;CACmB,CAAC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../../src/sites/defaults.ts"],"names":[],"mappings":";;;AAEA,qEAAoE;AAEvD,QAAA,kBAAkB,GAAG,sBAAsB,CAAC;AAEzD;;GAEG;AACU,QAAA,YAAY,GAAsB;IAC7C,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,EAAE;IACR,YAAY,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;IACrC,OAAO,EAAE,EAAE,aAAa,EAAE,CAAC,EAAE;IAC7B,WAAW,EAAE,EAAE;IACf,aAAa,EAAE,CAAC;IAChB,QAAQ,EAAE,uCAAmB;CAC9B,CAAC;AAEF;;GAEG;AACU,QAAA,kBAAkB,GAAW;IACxC,IAAI,EAAE;QACJ,IAAI,EAAE,0BAAkB;QACxB,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,EAAE;QACf,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,CAAC,UAAU,EAAE,SAAS,CAAC;QACrC,UAAU,EAAE;YACV,IAAI,EAAE,EAAE;YACR,aAAa,EAAE,CAAC;SACjB;KACF;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,EAAE;KACX;CACmB,CAAC"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getEnvironmentFromPortalUrl = void 0;
4
+ function getEnvironmentFromPortalUrl(portalUrl) {
5
+ // default to enterprise because we don't know the patterns for that
6
+ // other than it's _not_ arcgis.com
7
+ let env = "enterprise";
8
+ // if we're on arcgis.com, we can assume prod...
9
+ if (portalUrl.includes("arcgis.com")) {
10
+ env = "production";
11
+ }
12
+ // unless we're on a subdomain which suggest we might be in a dev or qa environment
13
+ if (portalUrl.includes("qaext.arcgis.com") ||
14
+ portalUrl.includes("mapsqa.arcgis.com")) {
15
+ env = "qaext";
16
+ }
17
+ if (portalUrl.includes("devext.arcgis.com") ||
18
+ portalUrl.includes("mapsdev.arcgis.com")) {
19
+ env = "devext";
20
+ }
21
+ return env;
22
+ }
23
+ exports.getEnvironmentFromPortalUrl = getEnvironmentFromPortalUrl;
24
+ //# sourceMappingURL=getEnvironmentFromPortalUrl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getEnvironmentFromPortalUrl.js","sourceRoot":"","sources":["../../../src/utils/getEnvironmentFromPortalUrl.ts"],"names":[],"mappings":";;;AAEA,SAAgB,2BAA2B,CAAC,SAAiB;IAC3D,oEAAoE;IACpE,mCAAmC;IACnC,IAAI,GAAG,GAAmB,YAAY,CAAC;IACvC,gDAAgD;IAChD,IAAI,SAAS,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;QACpC,GAAG,GAAG,YAAY,CAAC;KACpB;IACD,mFAAmF;IACnF,IACE,SAAS,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACtC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EACvC;QACA,GAAG,GAAG,OAAO,CAAC;KACf;IACD,IACE,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QACvC,SAAS,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EACxC;QACA,GAAG,GAAG,QAAQ,CAAC;KAChB;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAvBD,kEAuBC"}
@@ -24,4 +24,5 @@ tslib_1.__exportStar(require("./sessionLocalStorage"), exports);
24
24
  tslib_1.__exportStar(require("./dasherize"), exports);
25
25
  tslib_1.__exportStar(require("./titleize"), exports);
26
26
  tslib_1.__exportStar(require("./memoize"), exports);
27
+ tslib_1.__exportStar(require("./getEnvironmentFromPortalUrl"), exports);
27
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,kDAAwB;AACxB,qDAA2B;AAC3B,iEAAuC;AACvC,sEAA4C;AAC5C,sDAA4B;AAC5B,mEAAyC;AACzC,4DAAkC;AAClC,kEAAwC;AACxC,qDAA2B;AAC3B,oDAA0B;AAC1B,mDAAyB;AACzB,oDAA0B;AAC1B,4DAAkC;AAClC,2DAAiC;AACjC,6DAAmC;AACnC,mDAAyB;AACzB,4DAAkC;AAClC,6DAAmC;AACnC,gEAAsC;AACtC,sDAA4B;AAC5B,qDAA2B;AAC3B,oDAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,yDAA+B;AAC/B,kDAAwB;AACxB,qDAA2B;AAC3B,iEAAuC;AACvC,sEAA4C;AAC5C,sDAA4B;AAC5B,mEAAyC;AACzC,4DAAkC;AAClC,kEAAwC;AACxC,qDAA2B;AAC3B,oDAA0B;AAC1B,mDAAyB;AACzB,oDAA0B;AAC1B,4DAAkC;AAClC,2DAAiC;AACjC,6DAAmC;AACnC,mDAAyB;AACzB,4DAAkC;AAClC,6DAAmC;AACnC,gEAAsC;AACtC,sDAA4B;AAC5B,qDAA2B;AAC3B,oDAA0B;AAC1B,wEAA8C"}
@@ -1,8 +1,8 @@
1
1
  import { IUser, IUserRequestOptions, UserSession } from "@esri/arcgis-rest-auth";
2
2
  import { IPortal } from "@esri/arcgis-rest-portal";
3
3
  import { IRequestOptions } from "@esri/arcgis-rest-request";
4
- import { HubSystemStatus } from "./core";
5
- import { HubLicense } from "./permissions/types";
4
+ import { HubServiceStatus, HubSystemStatus } from "./core";
5
+ import { HubEnvironment, HubLicense } from "./permissions/types";
6
6
  import { IHubRequestOptions } from "./types";
7
7
  /**
8
8
  * Defines the properties of the ArcGISContext.
@@ -141,14 +141,27 @@ export interface IArcGISContext {
141
141
  */
142
142
  properties: Record<string, any>;
143
143
  /**
144
- * System status
144
+ * DEPRECATED: System status
145
145
  */
146
146
  systemStatus: HubSystemStatus;
147
+ /**
148
+ * Hub Service Status
149
+ */
150
+ serviceStatus: HubServiceStatus;
147
151
  /**
148
152
  * Is this user in a Hub Alpha org?
149
153
  * Derived from properties.alphaOrgs
150
154
  */
151
155
  isAlphaOrg: boolean;
156
+ /**
157
+ * Is this user in a Hub Beta org?
158
+ * Derived from properties.betaOrgs
159
+ */
160
+ isBetaOrg: boolean;
161
+ /**
162
+ * What environment is this running in?
163
+ */
164
+ environment: HubEnvironment;
152
165
  }
153
166
  /**
154
167
  * Options for the ArcGISContext constructor
@@ -194,9 +207,14 @@ export interface IArcGISContextOptions {
194
207
  */
195
208
  properties?: Record<string, any>;
196
209
  /**
197
- * Option to pass in system status vs fetching it
210
+ * DEPRECATED: Option to pass in system status vs fetching it
211
+ * TODO: Remove with Capabilities
198
212
  */
199
213
  systemStatus?: HubSystemStatus;
214
+ /**
215
+ * Option to pass in service status vs fetching it
216
+ */
217
+ serviceStatus?: HubServiceStatus;
200
218
  }
201
219
  /**
202
220
  * Abstraction that holds a `UserSession`, along with
@@ -225,6 +243,7 @@ export declare class ArcGISContext implements IArcGISContext {
225
243
  private _currentUser;
226
244
  private _properties;
227
245
  private _systemStatus;
246
+ private _serviceStatus;
228
247
  /**
229
248
  * Create a new instance of `ArcGISContext`.
230
249
  *
@@ -244,6 +263,15 @@ export declare class ArcGISContext implements IArcGISContext {
244
263
  * Alpha orgs are passed in via properties.alphaOrgs
245
264
  */
246
265
  get isAlphaOrg(): boolean;
266
+ /**
267
+ * Is the users org in the beta orgs list?
268
+ * Beta orgs are passed in via properties.betaOrgs
269
+ */
270
+ get isBetaOrg(): boolean;
271
+ /**
272
+ * Return the HubEnvironment of the current context
273
+ */
274
+ get environment(): HubEnvironment;
247
275
  /**
248
276
  * Return `IUserRequestOptions`, which is used for REST-JS
249
277
  * functions which require authentication information.
@@ -285,8 +313,13 @@ export declare class ArcGISContext implements IArcGISContext {
285
313
  get hubLicense(): HubLicense;
286
314
  /**
287
315
  * Returns the current hub system status information
316
+ * TODO: Remove with Capabilities
288
317
  */
289
318
  get systemStatus(): HubSystemStatus;
319
+ /**
320
+ * Returns the current hub service status information
321
+ */
322
+ get serviceStatus(): HubServiceStatus;
290
323
  /**
291
324
  * Returns the url to the sharing api composed from portalUrl
292
325
  * i.e. https://myorg.maps.arcgis.com/sharing/rest
@@ -2,7 +2,7 @@ import { IPortal } from "@esri/arcgis-rest-portal";
2
2
  import { IUser, UserSession } from "@esri/arcgis-rest-auth";
3
3
  import { IArcGISContext } from "./ArcGISContext";
4
4
  import { Level } from "./utils/logger";
5
- import { HubSystemStatus } from "./core";
5
+ import { HubServiceStatus, HubSystemStatus } from "./core";
6
6
  /**
7
7
  * Options that can be passed into `ArcGISContextManager.create`
8
8
  */
@@ -48,9 +48,14 @@ export interface IArcGISContextManagerOptions {
48
48
  */
49
49
  logLevel?: Level;
50
50
  /**
51
- * Option to pass in system status vs fetching it
51
+ * DEPRECATED: Option to pass in system status vs fetching it
52
+ * TODO: Remove with Capabilities
52
53
  */
53
54
  systemStatus?: HubSystemStatus;
55
+ /**
56
+ * Option to pass in service status vs fetching it
57
+ */
58
+ serviceStatus?: HubServiceStatus;
54
59
  }
55
60
  /**
56
61
  * The manager exposes context (`IArcGISContext`), which combines a `UserSession` with
@@ -82,6 +87,7 @@ export declare class ArcGISContextManager {
82
87
  private _currentUser;
83
88
  private _logLevel;
84
89
  private _systemStatus;
90
+ private _serviceStatus;
85
91
  /**
86
92
  * Private constructor. Use `ArcGISContextManager.create(...)` to
87
93
  * instantiate an instance
@@ -7,7 +7,7 @@ import { IArcGISContext } from "../ArcGISContext";
7
7
  */
8
8
  export declare const CapabilityPermissions: ICapabilityPermission[];
9
9
  /**
10
- * Return the capabilities that are granted to the current user for a given entity
10
+ * DEPRECATED: Return the capabilities that are granted to the current user for a given entity
11
11
  * This is used by the Hub Components to determine which Workspace Navigation Links to show
12
12
  * @param entity
13
13
  * @param context
@@ -5,12 +5,14 @@ import { IPermissionPolicy } from "../../permissions";
5
5
  * This hash is combined with the capabilities hash stored in the item data. Regardless of what
6
6
  * properties are defined in the item data, only the capabilities defined here will be available
7
7
  * @private
8
+ * TODO: remove with Capabilities
8
9
  */
9
10
  export declare const ContentDefaultCapabilities: EntityCapabilities;
10
11
  /**
11
12
  * List of all the Content Capability Permissions
12
13
  * These are considered Hub Business Rules and are not intended
13
14
  * to be modified by consumers
15
+ * TODO: remove with Capabilities
14
16
  * @private
15
17
  */
16
18
  export declare const ContentCapabilityPermissions: ICapabilityPermission[];
@@ -22,6 +24,7 @@ export declare const ContentCapabilityPermissions: ICapabilityPermission[];
22
24
  export declare const ContentPermissions: readonly ["hub:content:create", "hub:content:edit", "hub:content:view"];
23
25
  /**
24
26
  * Content permission policies
27
+ * No need to specify license for permissions that are available to all licenses
25
28
  * @private
26
29
  */
27
30
  export declare const ContentPermissionPolicies: IPermissionPolicy[];
@@ -95,12 +95,14 @@ export declare const setContentBoundary: (content: IHubContent, boundary: Geogra
95
95
  canEdit: boolean;
96
96
  canDelete: boolean;
97
97
  location?: import("../../core").IHubLocation;
98
+ protected?: boolean;
98
99
  name: string;
99
100
  createdDate: Date;
100
101
  createdDateSource: string;
101
102
  updatedDate: Date;
102
103
  updatedDateSource: string;
103
104
  type: string;
105
+ features?: import("../..").IEntityFeatures;
104
106
  capabilities?: import("../..").EntityCapabilities;
105
107
  isDiscussable?: boolean;
106
108
  statistics?: any;
@@ -120,7 +122,6 @@ export declare const setContentBoundary: (content: IHubContent, boundary: Geogra
120
122
  modified: number;
121
123
  numViews: number;
122
124
  size: number;
123
- protected?: boolean;
124
125
  title: string;
125
126
  snippet?: string;
126
127
  documentation?: string;
@@ -44,6 +44,7 @@ export declare abstract class HubItemEntity<T extends IHubItemEntity> implements
44
44
  */
45
45
  removePermissionPolicy(permission: Permission, id: string): void;
46
46
  /**
47
+ * DEPRECATED: use checkPermission instead
47
48
  * Check if the current user can access a specific capability
48
49
  * @param capability
49
50
  */
@@ -27,6 +27,9 @@ export interface IWithPermissionBehavior {
27
27
  */
28
28
  removePermissionPolicy(permission: Permission, id: string): void;
29
29
  }
30
+ /**
31
+ * DEPRECATED: Composable behavior that adds capabilities to an entity
32
+ */
30
33
  export interface IWithCapabilityBehavior {
31
34
  /**
32
35
  * Is a specific capability available and enabled for the this entity?
@@ -5,7 +5,7 @@ import Ajv from "ajv";
5
5
  * to the supported/defined uiSchema configurations
6
6
  */
7
7
  export declare type EditorType = (typeof validEditorTypes)[number];
8
- export declare const validEditorTypes: readonly ["hub:project:create", "hub:project:edit", "hub:content:edit", "hub:initiative:edit", "hub:initiative:create", "hub:site:edit", "hub:discussion:edit", "hub:discussion:create", "hub:page:edit"];
8
+ export declare const validEditorTypes: readonly ["hub:project:create", "hub:project:edit", "hub:content:edit", "hub:initiative:edit", "hub:initiative:create", "hub:site:edit", "hub:discussion:edit", "hub:discussion:create", "hub:page:edit", "hub:group:edit"];
9
9
  export declare enum UiSchemaRuleEffects {
10
10
  SHOW = "SHOW",
11
11
  HIDE = "HIDE",
@@ -1,4 +1,4 @@
1
- import { IEntityPermissionPolicy } from "../../permissions";
1
+ import { IEntityFeatures, IEntityPermissionPolicy } from "../../permissions";
2
2
  import { EntityCapabilities } from "../../capabilities";
3
3
  /**
4
4
  * Adds permissions property to an entity
@@ -8,5 +8,13 @@ export interface IWithPermissions {
8
8
  * Array of permission policies that apply to the entity
9
9
  */
10
10
  permissions?: IEntityPermissionPolicy[];
11
+ /**
12
+ * We need a means to enable / disable the "feature/capability" represented by a permission
13
+ * for an entity. e.g. we want to disable events for a site, so we have `hub:site:events`: false
14
+ */
15
+ features?: IEntityFeatures;
16
+ /**
17
+ * DEPRECATEDL use `features` instead
18
+ */
11
19
  capabilities?: EntityCapabilities;
12
20
  }
@@ -1,6 +1,6 @@
1
1
  import { IWithPermissions } from "../traits";
2
2
  import { IHubEntityBase } from "./IHubEntityBase";
3
- import { GroupSortField, SettableAccessLevel, MemberType, MembershipAccess, PlatformSortOrder } from "./types";
3
+ import { GroupSortField, MemberType, MembershipAccess, PlatformSortOrder, AccessLevel } from "./types";
4
4
  /**
5
5
  * Defines the properties of a Hub Group object
6
6
  * @internal
@@ -9,8 +9,11 @@ export interface IHubGroup extends IHubEntityBase, IWithPermissions {
9
9
  /**
10
10
  * Access level of the group
11
11
  * ("private" | "org" | "public")
12
+ * we are using AccessLevel instead of SettableAccessLevel
13
+ * intentionally due to the Portal API being inconsistent
14
+ * between .access on items vs groups
12
15
  */
13
- access: SettableAccessLevel;
16
+ access: AccessLevel;
14
17
  /**
15
18
  * Whether members can auto join the group
16
19
  */
@@ -93,3 +96,14 @@ export interface IHubGroup extends IHubEntityBase, IWithPermissions {
93
96
  */
94
97
  _clearEmptyFields?: boolean;
95
98
  }
99
+ /**
100
+ * This type redefines the IHubGroup interface in such a way
101
+ * that it can be consumed by the entity editor.
102
+ */
103
+ export declare type IHubGroupEditor = IHubGroup & {
104
+ /**
105
+ * Thumbnail image. This is only used on the Editor and is
106
+ * persisted in the fromEditor method on the Class
107
+ */
108
+ _thumbnail?: any;
109
+ };
@@ -92,4 +92,8 @@ export interface IHubItemEntity extends IHubEntityBase, IWithPermissions, IWithD
92
92
  * The orgId of the Entity, if available
93
93
  */
94
94
  orgId?: string;
95
+ /**
96
+ * Is the item protected?
97
+ */
98
+ protected?: boolean;
95
99
  }
@@ -3,6 +3,7 @@
3
3
  */
4
4
  export declare type SystemStatus = "online" | "offline" | "maintenance" | "not-available";
5
5
  /**
6
+ * DEPRECATED: use HubServiceStatus instead
6
7
  * Hash of subsystems and their status
7
8
  */
8
9
  export declare type HubSystemStatus = {
@@ -10,13 +11,29 @@ export declare type HubSystemStatus = {
10
11
  };
11
12
  declare const validSubsystems: readonly ["content", "discussions", "events", "initiatives", "items", "metrics", "notifications", "pages", "projects", "search", "sites", "groups", "platform"];
12
13
  /**
14
+ * * DEPRECATED: use HubService instead
13
15
  * Defines values for HubSubsystem
14
16
  */
15
17
  export declare type HubSubsystem = (typeof validSubsystems)[number];
16
18
  /**
19
+ * * DEPRECATED: use isHubService instead
17
20
  * Validate a Subsystem
18
21
  * @param subsystem
19
22
  * @returns
20
23
  */
21
24
  export declare function isSubsystem(maybeSubsystem: string): boolean;
25
+ /**
26
+ * Hash of subsystems and their status
27
+ */
28
+ export declare type HubServiceStatus = {
29
+ [key in HubService]: SystemStatus;
30
+ };
31
+ declare const validServices: readonly ["portal", "discussions", "events", "metrics", "notifications", "hub-search", "domains"];
32
+ export declare type HubService = (typeof validServices)[number];
33
+ /**
34
+ * Validate a Service
35
+ * @param service
36
+ * @returns
37
+ */
38
+ export declare function isHubService(maybeService: string): boolean;
22
39
  export {};
@@ -8,6 +8,7 @@ export * from "./IHubDiscussion";
8
8
  export * from "./IHubEditableContent";
9
9
  export * from "./IHubEntityBase";
10
10
  export * from "./IHubEvent";
11
+ export * from "./IHubGroup";
11
12
  export * from "./IHubImage";
12
13
  export * from "./IHubInitiative";
13
14
  export * from "./IHubItemEntity";
@@ -5,12 +5,14 @@ import { IPermissionPolicy } from "../../permissions";
5
5
  * This hash is combined with the capabilities hash stored in the item data. Regardless of what
6
6
  * properties are defined in the item data, only the capabilities defined here will be available
7
7
  * @private
8
+ * TODO: Remove capabilities
8
9
  */
9
10
  export declare const DiscussionDefaultCapabilities: EntityCapabilities;
10
11
  /**
11
12
  * List of all the Discussion Capability Permissions
12
13
  * These are considered Hub Business Rules and are not intended
13
14
  * to be modified by consumers
15
+ * TODO: Remove capabilities
14
16
  * @private
15
17
  */
16
18
  export declare const DiscussionCapabilityPermissions: ICapabilityPermission[];
@@ -19,7 +21,7 @@ export declare const DiscussionCapabilityPermissions: ICapabilityPermission[];
19
21
  * These define the requirements any user must meet to perform related actions
20
22
  * @private
21
23
  */
22
- export declare const DiscussionPermissions: readonly ["hub:discussion:create", "hub:discussion:delete", "hub:discussion:edit", "hub:discussion:view"];
24
+ export declare const DiscussionPermissions: readonly ["hub:discussion", "hub:discussion:create", "hub:discussion:delete", "hub:discussion:edit", "hub:discussion:view"];
23
25
  /**
24
26
  * Discussion permission policies
25
27
  * @private
@@ -1,15 +1,22 @@
1
- import { IHubGroup } from "../core/types/IHubGroup";
1
+ import { IHubGroup, IHubGroupEditor } from "../core/types/IHubGroup";
2
2
  import { IEntityPermissionPolicy, IPermissionAccessResponse, Permission } from "../permissions";
3
3
  import { IWithStoreBehavior } from "../core/behaviors/IWithStoreBehavior";
4
4
  import { IWithPermissionBehavior } from "../core/behaviors/IWithPermissionBehavior";
5
5
  import { IArcGISContext } from "../ArcGISContext";
6
+ import { IEditorConfig, IWithEditorBehavior } from "../core/behaviors/IWithEditorBehavior";
7
+ import { EditorType } from "../core/schemas/types";
6
8
  /**
7
9
  * Hub Group Class
8
10
  */
9
- export declare class HubGroup implements IWithStoreBehavior<IHubGroup>, IWithPermissionBehavior {
11
+ export declare class HubGroup implements IWithStoreBehavior<IHubGroup>, IWithPermissionBehavior, IWithEditorBehavior {
10
12
  protected context: IArcGISContext;
11
13
  protected entity: IHubGroup;
12
14
  protected isDestroyed: boolean;
15
+ protected thumbnailCache: {
16
+ file?: any;
17
+ filename?: string;
18
+ clear?: boolean;
19
+ };
13
20
  private constructor();
14
21
  /**
15
22
  * Whether the user can edit the group,
@@ -92,4 +99,15 @@ export declare class HubGroup implements IWithStoreBehavior<IHubGroup>, IWithPer
92
99
  * @param id
93
100
  */
94
101
  removePermissionPolicy(permission: Permission, id: string): void;
102
+ getEditorConfig(i18nScope: string, type: EditorType): Promise<IEditorConfig>;
103
+ /**
104
+ * Return the group as an editor object
105
+ */
106
+ toEditor(): IHubGroupEditor;
107
+ /**
108
+ * Load the group from the editor object
109
+ * @param editor
110
+ * @returns
111
+ */
112
+ fromEditor(editor: IHubGroupEditor): Promise<IHubGroup>;
95
113
  }