@esri/hub-common 11.23.3 → 12.0.0-alpha.2

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 (247) hide show
  1. package/dist/esm/ArcGISContext.js +38 -1
  2. package/dist/esm/ArcGISContext.js.map +1 -1
  3. package/dist/esm/ArcGISContextManager.js +48 -0
  4. package/dist/esm/ArcGISContextManager.js.map +1 -1
  5. package/dist/esm/content/_internal.js +8 -18
  6. package/dist/esm/content/_internal.js.map +1 -1
  7. package/dist/esm/content/compose.js +12 -0
  8. package/dist/esm/content/compose.js.map +1 -1
  9. package/dist/esm/core/HubItemEntity.js +39 -57
  10. package/dist/esm/core/HubItemEntity.js.map +1 -1
  11. package/dist/esm/core/_internal/PropertyMapper.js +10 -2
  12. package/dist/esm/core/_internal/PropertyMapper.js.map +1 -1
  13. package/dist/esm/core/_internal/getBasePropertyMap.js +1 -0
  14. package/dist/esm/core/_internal/getBasePropertyMap.js.map +1 -1
  15. package/dist/esm/core/behaviors/IWithPermissionBehavior.js +0 -68
  16. package/dist/esm/core/behaviors/IWithPermissionBehavior.js.map +1 -1
  17. package/dist/esm/core/fetchHubEntity.js +28 -0
  18. package/dist/esm/core/fetchHubEntity.js.map +1 -0
  19. package/dist/esm/core/getTypeFromEntity.js +26 -0
  20. package/dist/esm/core/getTypeFromEntity.js.map +1 -0
  21. package/dist/esm/core/index.js +2 -1
  22. package/dist/esm/core/index.js.map +1 -1
  23. package/dist/esm/core/types/HubEntity.js +1 -0
  24. package/dist/esm/core/types/HubEntity.js.map +1 -0
  25. package/dist/esm/core/types/HubEntityType.js +1 -0
  26. package/dist/esm/core/types/HubEntityType.js.map +1 -0
  27. package/dist/esm/core/types/ISystemStatus.js +21 -0
  28. package/dist/esm/core/types/ISystemStatus.js.map +1 -0
  29. package/dist/esm/core/types/index.js +3 -2
  30. package/dist/esm/core/types/index.js.map +1 -1
  31. package/dist/esm/index.js +1 -0
  32. package/dist/esm/index.js.map +1 -1
  33. package/dist/esm/initiatives/HubInitiative.js +0 -13
  34. package/dist/esm/initiatives/HubInitiative.js.map +1 -1
  35. package/dist/esm/permissions/HubPermissionPolicies.js +71 -0
  36. package/dist/esm/permissions/HubPermissionPolicies.js.map +1 -0
  37. package/dist/esm/permissions/_internal/checkAlphaGating.js +27 -0
  38. package/dist/esm/permissions/_internal/checkAlphaGating.js.map +1 -0
  39. package/dist/esm/permissions/_internal/checkAssertion.js +190 -0
  40. package/dist/esm/permissions/_internal/checkAssertion.js.map +1 -0
  41. package/dist/esm/permissions/_internal/checkAssertions.js +20 -0
  42. package/dist/esm/permissions/_internal/checkAssertions.js.map +1 -0
  43. package/dist/esm/permissions/_internal/checkAuthentication.js +28 -0
  44. package/dist/esm/permissions/_internal/checkAuthentication.js.map +1 -0
  45. package/dist/esm/permissions/_internal/checkEdit.js +38 -0
  46. package/dist/esm/permissions/_internal/checkEdit.js.map +1 -0
  47. package/dist/esm/permissions/_internal/checkEntityPolicy.js +68 -0
  48. package/dist/esm/permissions/_internal/checkEntityPolicy.js.map +1 -0
  49. package/dist/esm/permissions/_internal/checkLicense.js +33 -0
  50. package/dist/esm/permissions/_internal/checkLicense.js.map +1 -0
  51. package/dist/esm/permissions/_internal/checkOwner.js +36 -0
  52. package/dist/esm/permissions/_internal/checkOwner.js.map +1 -0
  53. package/dist/esm/permissions/_internal/checkPrivileges.js +31 -0
  54. package/dist/esm/permissions/_internal/checkPrivileges.js.map +1 -0
  55. package/dist/esm/permissions/_internal/getPolicyResponseCode.js +47 -0
  56. package/dist/esm/permissions/_internal/getPolicyResponseCode.js.map +1 -0
  57. package/dist/esm/permissions/checkPermission.js +89 -0
  58. package/dist/esm/permissions/checkPermission.js.map +1 -0
  59. package/dist/esm/permissions/index.js +5 -0
  60. package/dist/esm/permissions/index.js.map +1 -0
  61. package/dist/esm/permissions/types/HubLicense.js +1 -0
  62. package/dist/esm/permissions/types/HubLicense.js.map +1 -0
  63. package/dist/esm/permissions/types/IAccessResponse.js +1 -0
  64. package/dist/esm/permissions/types/IAccessResponse.js.map +1 -0
  65. package/dist/esm/permissions/types/IEntityPermissionPolicy.js +1 -0
  66. package/dist/esm/permissions/types/IEntityPermissionPolicy.js.map +1 -0
  67. package/dist/esm/permissions/types/IPermissionPolicy.js +1 -0
  68. package/dist/esm/permissions/types/IPermissionPolicy.js.map +1 -0
  69. package/dist/esm/permissions/types/IPolicyCheck.js +1 -0
  70. package/dist/esm/permissions/types/IPolicyCheck.js.map +1 -0
  71. package/dist/esm/permissions/types/Permission.js +17 -0
  72. package/dist/esm/permissions/types/Permission.js.map +1 -0
  73. package/dist/esm/permissions/types/PlatformPrivilege.js +5 -0
  74. package/dist/esm/permissions/types/PlatformPrivilege.js.map +1 -0
  75. package/dist/esm/permissions/types/PolicyResponse.js +4 -0
  76. package/dist/esm/permissions/types/PolicyResponse.js.map +1 -0
  77. package/dist/esm/permissions/types/index.js +9 -0
  78. package/dist/esm/permissions/types/index.js.map +1 -0
  79. package/dist/esm/permissions/utils.js +26 -0
  80. package/dist/esm/permissions/utils.js.map +1 -0
  81. package/dist/esm/projects/HubProject.js +0 -13
  82. package/dist/esm/projects/HubProject.js.map +1 -1
  83. package/dist/esm/projects/_internal/ProjectPermissionPolicies.js +41 -0
  84. package/dist/esm/projects/_internal/ProjectPermissionPolicies.js.map +1 -0
  85. package/dist/esm/projects/defaults.js +1 -0
  86. package/dist/esm/projects/defaults.js.map +1 -1
  87. package/dist/esm/search/Catalog.js.map +1 -1
  88. package/dist/esm/sites/HubSite.js +0 -13
  89. package/dist/esm/sites/HubSite.js.map +1 -1
  90. package/dist/esm/sites/HubSites.js +10 -12
  91. package/dist/esm/sites/HubSites.js.map +1 -1
  92. package/dist/esm/sites/_internal/SitesPermissionPolicies.js +44 -0
  93. package/dist/esm/sites/_internal/SitesPermissionPolicies.js.map +1 -0
  94. package/dist/esm/sites/_internal/applyPermissionMigration.js +52 -0
  95. package/dist/esm/sites/_internal/applyPermissionMigration.js.map +1 -0
  96. package/dist/node/ArcGISContext.js +42 -5
  97. package/dist/node/ArcGISContext.js.map +1 -1
  98. package/dist/node/ArcGISContextManager.js +48 -0
  99. package/dist/node/ArcGISContextManager.js.map +1 -1
  100. package/dist/node/content/_internal.js +8 -18
  101. package/dist/node/content/_internal.js.map +1 -1
  102. package/dist/node/content/compose.js +12 -0
  103. package/dist/node/content/compose.js.map +1 -1
  104. package/dist/node/core/HubItemEntity.js +38 -56
  105. package/dist/node/core/HubItemEntity.js.map +1 -1
  106. package/dist/node/core/_internal/PropertyMapper.js +9 -1
  107. package/dist/node/core/_internal/PropertyMapper.js.map +1 -1
  108. package/dist/node/core/_internal/getBasePropertyMap.js +1 -0
  109. package/dist/node/core/_internal/getBasePropertyMap.js.map +1 -1
  110. package/dist/node/core/behaviors/IWithPermissionBehavior.js +0 -73
  111. package/dist/node/core/behaviors/IWithPermissionBehavior.js.map +1 -1
  112. package/dist/node/core/fetchHubEntity.js +32 -0
  113. package/dist/node/core/fetchHubEntity.js.map +1 -0
  114. package/dist/node/core/getTypeFromEntity.js +30 -0
  115. package/dist/node/core/getTypeFromEntity.js.map +1 -0
  116. package/dist/node/core/index.js +2 -1
  117. package/dist/node/core/index.js.map +1 -1
  118. package/dist/node/core/types/{IHubPermission.js → HubEntity.js} +1 -1
  119. package/dist/node/core/types/HubEntity.js.map +1 -0
  120. package/dist/node/core/types/HubEntityType.js +3 -0
  121. package/dist/node/core/types/HubEntityType.js.map +1 -0
  122. package/dist/node/core/types/ISystemStatus.js +25 -0
  123. package/dist/node/core/types/ISystemStatus.js.map +1 -0
  124. package/dist/node/core/types/index.js +3 -2
  125. package/dist/node/core/types/index.js.map +1 -1
  126. package/dist/node/index.js +1 -0
  127. package/dist/node/index.js.map +1 -1
  128. package/dist/node/initiatives/HubInitiative.js +0 -13
  129. package/dist/node/initiatives/HubInitiative.js.map +1 -1
  130. package/dist/node/permissions/HubPermissionPolicies.js +75 -0
  131. package/dist/node/permissions/HubPermissionPolicies.js.map +1 -0
  132. package/dist/node/permissions/_internal/checkAlphaGating.js +31 -0
  133. package/dist/node/permissions/_internal/checkAlphaGating.js.map +1 -0
  134. package/dist/node/permissions/_internal/checkAssertion.js +194 -0
  135. package/dist/node/permissions/_internal/checkAssertion.js.map +1 -0
  136. package/dist/node/permissions/_internal/checkAssertions.js +24 -0
  137. package/dist/node/permissions/_internal/checkAssertions.js.map +1 -0
  138. package/dist/node/permissions/_internal/checkAuthentication.js +32 -0
  139. package/dist/node/permissions/_internal/checkAuthentication.js.map +1 -0
  140. package/dist/node/permissions/_internal/checkEdit.js +42 -0
  141. package/dist/node/permissions/_internal/checkEdit.js.map +1 -0
  142. package/dist/node/permissions/_internal/checkEntityPolicy.js +72 -0
  143. package/dist/node/permissions/_internal/checkEntityPolicy.js.map +1 -0
  144. package/dist/node/permissions/_internal/checkLicense.js +37 -0
  145. package/dist/node/permissions/_internal/checkLicense.js.map +1 -0
  146. package/dist/node/permissions/_internal/checkOwner.js +40 -0
  147. package/dist/node/permissions/_internal/checkOwner.js.map +1 -0
  148. package/dist/node/permissions/_internal/checkPrivileges.js +35 -0
  149. package/dist/node/permissions/_internal/checkPrivileges.js.map +1 -0
  150. package/dist/node/permissions/_internal/getPolicyResponseCode.js +51 -0
  151. package/dist/node/permissions/_internal/getPolicyResponseCode.js.map +1 -0
  152. package/dist/node/permissions/checkPermission.js +93 -0
  153. package/dist/node/permissions/checkPermission.js.map +1 -0
  154. package/dist/node/permissions/index.js +8 -0
  155. package/dist/node/permissions/index.js.map +1 -0
  156. package/dist/node/permissions/types/HubLicense.js +3 -0
  157. package/dist/node/permissions/types/HubLicense.js.map +1 -0
  158. package/dist/node/permissions/types/IAccessResponse.js +3 -0
  159. package/dist/node/permissions/types/IAccessResponse.js.map +1 -0
  160. package/dist/node/permissions/types/IEntityPermissionPolicy.js +3 -0
  161. package/dist/node/permissions/types/IEntityPermissionPolicy.js.map +1 -0
  162. package/dist/node/permissions/types/IPermissionPolicy.js +3 -0
  163. package/dist/node/permissions/types/IPermissionPolicy.js.map +1 -0
  164. package/dist/node/permissions/types/IPolicyCheck.js +3 -0
  165. package/dist/node/permissions/types/IPolicyCheck.js.map +1 -0
  166. package/dist/node/permissions/types/Permission.js +21 -0
  167. package/dist/node/permissions/types/Permission.js.map +1 -0
  168. package/dist/node/permissions/types/PlatformPrivilege.js +7 -0
  169. package/dist/node/permissions/types/PlatformPrivilege.js.map +1 -0
  170. package/dist/node/permissions/types/PolicyResponse.js +6 -0
  171. package/dist/node/permissions/types/PolicyResponse.js.map +1 -0
  172. package/dist/node/permissions/types/index.js +12 -0
  173. package/dist/node/permissions/types/index.js.map +1 -0
  174. package/dist/node/permissions/utils.js +31 -0
  175. package/dist/node/permissions/utils.js.map +1 -0
  176. package/dist/node/projects/HubProject.js +0 -13
  177. package/dist/node/projects/HubProject.js.map +1 -1
  178. package/dist/node/projects/_internal/ProjectPermissionPolicies.js +44 -0
  179. package/dist/node/projects/_internal/ProjectPermissionPolicies.js.map +1 -0
  180. package/dist/node/projects/defaults.js +1 -0
  181. package/dist/node/projects/defaults.js.map +1 -1
  182. package/dist/node/search/Catalog.js.map +1 -1
  183. package/dist/node/sites/HubSite.js +0 -13
  184. package/dist/node/sites/HubSite.js.map +1 -1
  185. package/dist/node/sites/HubSites.js +10 -12
  186. package/dist/node/sites/HubSites.js.map +1 -1
  187. package/dist/node/sites/_internal/SitesPermissionPolicies.js +47 -0
  188. package/dist/node/sites/_internal/SitesPermissionPolicies.js.map +1 -0
  189. package/dist/node/sites/_internal/applyPermissionMigration.js +56 -0
  190. package/dist/node/sites/_internal/applyPermissionMigration.js.map +1 -0
  191. package/dist/types/ArcGISContext.d.ts +33 -1
  192. package/dist/types/ArcGISContextManager.d.ts +6 -1
  193. package/dist/types/content/_internal.d.ts +15 -5
  194. package/dist/types/core/HubItemEntity.d.ts +29 -4
  195. package/dist/types/core/behaviors/IWithPermissionBehavior.d.ts +23 -35
  196. package/dist/types/core/behaviors/IWithStoreBehavior.d.ts +10 -10
  197. package/dist/types/core/fetchHubEntity.d.ts +11 -0
  198. package/dist/types/core/getTypeFromEntity.d.ts +8 -0
  199. package/dist/types/core/index.d.ts +2 -1
  200. package/dist/types/core/traits/IWithPermissions.d.ts +3 -3
  201. package/dist/types/core/types/HubEntity.d.ts +5 -0
  202. package/dist/types/core/types/HubEntityType.d.ts +1 -0
  203. package/dist/types/core/types/IHubContent.d.ts +2 -1
  204. package/dist/types/core/types/IHubItemEntity.d.ts +19 -2
  205. package/dist/types/core/types/ISystemStatus.d.ts +22 -0
  206. package/dist/types/core/types/index.d.ts +3 -2
  207. package/dist/types/index.d.ts +1 -0
  208. package/dist/types/initiatives/HubInitiative.d.ts +1 -7
  209. package/dist/types/permissions/HubPermissionPolicies.d.ts +11 -0
  210. package/dist/types/permissions/_internal/checkAlphaGating.d.ts +10 -0
  211. package/dist/types/permissions/_internal/checkAssertion.d.ts +11 -0
  212. package/dist/types/permissions/_internal/checkAssertions.d.ts +10 -0
  213. package/dist/types/permissions/_internal/checkAuthentication.d.ts +10 -0
  214. package/dist/types/permissions/_internal/checkEdit.d.ts +10 -0
  215. package/dist/types/permissions/_internal/checkEntityPolicy.d.ts +9 -0
  216. package/dist/types/permissions/_internal/checkLicense.d.ts +10 -0
  217. package/dist/types/permissions/_internal/checkOwner.d.ts +10 -0
  218. package/dist/types/permissions/_internal/checkPrivileges.d.ts +10 -0
  219. package/dist/types/permissions/_internal/getPolicyResponseCode.d.ts +7 -0
  220. package/dist/types/permissions/checkPermission.d.ts +10 -0
  221. package/dist/types/permissions/index.d.ts +4 -0
  222. package/dist/types/permissions/types/HubLicense.d.ts +4 -0
  223. package/dist/types/permissions/types/IAccessResponse.d.ts +34 -0
  224. package/dist/types/permissions/types/IEntityPermissionPolicy.d.ts +22 -0
  225. package/dist/types/permissions/types/IPermissionPolicy.d.ts +57 -0
  226. package/dist/types/permissions/types/IPolicyCheck.d.ts +25 -0
  227. package/dist/types/permissions/types/Permission.d.ts +17 -0
  228. package/dist/types/permissions/types/PlatformPrivilege.d.ts +5 -0
  229. package/dist/types/permissions/types/PolicyResponse.d.ts +4 -0
  230. package/dist/types/permissions/types/index.d.ts +8 -0
  231. package/dist/types/permissions/utils.d.ts +18 -0
  232. package/dist/types/projects/HubProject.d.ts +1 -7
  233. package/dist/types/projects/_internal/ProjectPermissionPolicies.d.ts +8 -0
  234. package/dist/types/sites/HubSite.d.ts +1 -7
  235. package/dist/types/sites/HubSites.d.ts +1 -1
  236. package/dist/types/sites/_internal/SitesPermissionPolicies.d.ts +11 -0
  237. package/dist/types/sites/_internal/applyPermissionMigration.d.ts +7 -0
  238. package/package.json +1 -1
  239. package/dist/esm/core/PermissionManager.js +0 -60
  240. package/dist/esm/core/PermissionManager.js.map +0 -1
  241. package/dist/esm/core/types/IHubPermission.js +0 -1
  242. package/dist/esm/core/types/IHubPermission.js.map +0 -1
  243. package/dist/node/core/PermissionManager.js +0 -64
  244. package/dist/node/core/PermissionManager.js.map +0 -1
  245. package/dist/node/core/types/IHubPermission.js.map +0 -1
  246. package/dist/types/core/PermissionManager.d.ts +0 -43
  247. package/dist/types/core/types/IHubPermission.d.ts +0 -23
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HubSite = void 0;
4
- const core_1 = require("../core");
5
4
  const Catalog_1 = require("../search/Catalog");
6
5
  const HubItemEntity_1 = require("../core/HubItemEntity");
7
6
  const defaults_1 = require("./defaults");
@@ -21,7 +20,6 @@ class HubSite extends HubItemEntity_1.HubItemEntity {
21
20
  super(site, context);
22
21
  this._catalogCache = {};
23
22
  this._catalog = Catalog_1.Catalog.fromJson(site.catalog, this.context);
24
- this._permissionManager = core_1.PermissionManager.fromJson(site.permissions, this.context);
25
23
  }
26
24
  /**
27
25
  * Catalog instance for this site. Note: Do not hold direct references to this object; always access it from the site.
@@ -30,13 +28,6 @@ class HubSite extends HubItemEntity_1.HubItemEntity {
30
28
  get catalog() {
31
29
  return this._catalog;
32
30
  }
33
- /**
34
- * PermissionManager instance for this site. Note: Do not hold direct references to this object; always access it from the site.
35
- * @returns
36
- */
37
- get permissions() {
38
- return this._permissionManager;
39
- }
40
31
  /**
41
32
  * Create an instance from an IHubSite object
42
33
  * @param json - JSON object to create a HubSite from
@@ -114,9 +105,6 @@ class HubSite extends HubItemEntity_1.HubItemEntity {
114
105
  if (changes.catalog) {
115
106
  this._catalog = Catalog_1.Catalog.fromJson(this.entity.catalog, this.context);
116
107
  }
117
- if (changes.permissions) {
118
- this._permissionManager = core_1.PermissionManager.fromJson(this.entity.permissions, this.context);
119
- }
120
108
  }
121
109
  /**
122
110
  * Save the HubSite to the backing store.
@@ -129,7 +117,6 @@ class HubSite extends HubItemEntity_1.HubItemEntity {
129
117
  }
130
118
  // get the catalog, and permission configs
131
119
  this.entity.catalog = this._catalog.toJson();
132
- this.entity.permissions = this._permissionManager.toJson();
133
120
  if (this.entity.id) {
134
121
  // update it
135
122
  this.entity = await HubSites_1.updateSite(this.entity, this.context.hubRequestOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"HubSite.js","sourceRoot":"","sources":["../../../src/sites/HubSite.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubSite.js","sourceRoot":"","sources":["../../../src/sites/HubSite.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ const _internal_1 = require("./_internal");
10
10
  const _enrichments_1 = require("../items/_enrichments");
11
11
  const parseInclude_1 = require("../search/_internal/parseInclude");
12
12
  const _internal_2 = require("../content/_internal");
13
+ const applyPermissionMigration_1 = require("./_internal/applyPermissionMigration");
13
14
  exports.HUB_SITE_ITEM_TYPE = "Hub Site Application";
14
15
  exports.ENTERPRISE_SITE_ITEM_TYPE = "Site Application";
15
16
  /**
@@ -180,7 +181,7 @@ function getSitePropertyMap() {
180
181
  itemProps.forEach((entry) => {
181
182
  map.push({ objectKey: entry, modelKey: `item.${entry}` });
182
183
  });
183
- const dataProps = ["catalog", "feeds"];
184
+ const dataProps = ["catalog", "feeds", "permissions"];
184
185
  dataProps.forEach((entry) => {
185
186
  map.push({ objectKey: entry, modelKey: `data.${entry}` });
186
187
  });
@@ -374,6 +375,7 @@ exports.deleteSite = deleteSite;
374
375
  async function fetchSite(identifier, requestOptions) {
375
376
  // get the model
376
377
  const model = await fetchSiteModel_1.fetchSiteModel(identifier, requestOptions);
378
+ // convert to IHubSite
377
379
  return convertModelToSite(model, requestOptions);
378
380
  }
379
381
  exports.fetchSite = fetchSite;
@@ -384,15 +386,19 @@ exports.fetchSite = fetchSite;
384
386
  * @returns
385
387
  */
386
388
  function convertModelToSite(model, requestOptions) {
389
+ // Add permissions based on Groups
390
+ // This may get moved to a formal schema migration in the future but for now
391
+ // we can do it here as there is no ux for managing permissions yet.
392
+ const modelWithPermissions = applyPermissionMigration_1.applyPermissionMigration(model);
387
393
  // convert to site
388
394
  const mapper = new PropertyMapper_1.PropertyMapper(getSitePropertyMap());
389
- const site = mapper.modelToObject(model, {});
395
+ const site = mapper.modelToObject(modelWithPermissions, {});
390
396
  let token;
391
397
  if (requestOptions.authentication) {
392
398
  const us = requestOptions.authentication;
393
399
  token = us.token;
394
400
  }
395
- site.thumbnailUrl = index_1.getItemThumbnailUrl(model.item, requestOptions, token);
401
+ site.thumbnailUrl = index_1.getItemThumbnailUrl(modelWithPermissions.item, requestOptions, token);
396
402
  return site;
397
403
  }
398
404
  exports.convertModelToSite = convertModelToSite;
@@ -405,15 +411,7 @@ exports.convertModelToSite = convertModelToSite;
405
411
  */
406
412
  async function convertItemToSite(item, requestOptions) {
407
413
  const model = await index_1.fetchModelFromItem(item, requestOptions);
408
- const mapper = new PropertyMapper_1.PropertyMapper(getSitePropertyMap());
409
- let token;
410
- if (requestOptions.authentication) {
411
- const session = requestOptions.authentication;
412
- token = session.token;
413
- }
414
- const site = mapper.modelToObject(model, {});
415
- site.thumbnailUrl = index_1.getItemThumbnailUrl(model.item, requestOptions, token);
416
- return site;
414
+ return convertModelToSite(model, requestOptions);
417
415
  }
418
416
  exports.convertItemToSite = convertItemToSite;
419
417
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"HubSites.js","sourceRoot":"","sources":["../../../src/sites/HubSites.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubSites.js","sourceRoot":"","sources":["../../../src/sites/HubSites.ts"],"names":[],"mappings":";;;AACA,iEAA+E;AAE/E,oCA0BkB;AAElB,oDAAoD;AACpD,qDAAkD;AAClD,qEAAgF;AAChF,2CAAkD;AAElD,wDAA6D;AAC7D,mEAAgE;AAChE,oDAAyD;AACzD,mFAAgF;AAEnE,QAAA,kBAAkB,GAAG,sBAAsB,CAAC;AAC5C,QAAA,yBAAyB,GAAG,kBAAkB,CAAC;AAE5D;;GAEG;AACH,MAAM,YAAY,GAAsB;IACtC,IAAI,EAAE,mBAAmB;IACzB,IAAI,EAAE,EAAE;IACR,YAAY,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC;IACrD,YAAY,EAAE;QACZ,cAAc;QACd,OAAO;QACP,SAAS;QACT,eAAe;QACf,iBAAiB;QACjB,kBAAkB;QAClB,YAAY;QACZ,UAAU;QACV,iBAAiB;QACjB,WAAW;QACX,eAAe;KAChB;IACD,OAAO,EAAE;QACP,aAAa,EAAE,CAAC;KACjB;IACD,SAAS,EAAE,EAAE;IACb,eAAe,EAAE,EAAE;IACnB,cAAc,EAAE,EAAE;IAClB,QAAQ,EAAE,EAAE;IACZ,GAAG,EAAE,IAAI;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,EAAE;IACT,KAAK,EAAE,IAAI;IACX,YAAY,EAAE;QACZ,aAAa,EAAE;YACb,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI;YACT,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,IAAI;SACf;KACF;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,kBAAkB,GAAW;IACjC,IAAI,EAAE;QACJ,6CAA6C;QAC7C,sCAAsC;QACtC,KAAK,EAAE,mBAAmB;QAC1B,WAAW,EAAE,yBAAyB;QACtC,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,EAAE;QACR,YAAY,EAAE,CAAC,UAAU,EAAE,SAAS,EAAE,cAAc,CAAC;QACrD,UAAU,EAAE;YACV,IAAI,EAAE,EAAE;YACR,SAAS,EAAE,EAAE;YACb,eAAe,EAAE,EAAE;YACnB,cAAc,EAAE,EAAE;YAClB,QAAQ,EAAE,EAAE;YACZ,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,GAAG;SACnB;QACD,GAAG,EAAE,EAAE;KACC;IACV,IAAI,EAAE;QACJ,OAAO,EAAE;YACP,MAAM,EAAE,EAAE;SACX;QACD,KAAK,EAAE,EAAE;QACT,MAAM,EAAE;YACN,KAAK,EAAE,EAAE;YACT,eAAe,EAAE,EAAE;YACnB,cAAc,EAAE,EAAE;YAClB,SAAS,EAAE,EAAE;YACb,UAAU,EAAE,EAAE;YACd,SAAS,EAAE,KAAK;YAChB,QAAQ,EAAE,EAAE;YACZ,GAAG,EAAE;gBACH,QAAQ,EAAE,EAAE;aACb;YACD,aAAa,EAAE,EAAE;YACjB,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,EAAE;YACT,MAAM,EAAE;gBACN,QAAQ,EAAE,EAAE;gBACZ,MAAM,EAAE;oBACN,SAAS,EAAE;wBACT,IAAI,EAAE,aAAa;wBACnB,QAAQ,EAAE;4BACR,SAAS,EAAE,KAAK;4BAChB,YAAY,EAAE,OAAO;4BACrB,SAAS,EAAE,EAAE;4BACb,KAAK,EAAE,EAAE;4BACT,OAAO,EAAE,EAAE;4BACX,KAAK,EAAE,cAAc;4BACrB,QAAQ,EAAE,EAAE;4BACZ,UAAU,EAAE,SAAS;4BACrB,aAAa,EAAE,CAAC;4BAChB,QAAQ,EAAE,IAAI;4BACd,SAAS,EAAE,IAAI;4BACf,IAAI,EAAE;gCACJ,OAAO,EAAE,EAAE;gCACX,KAAK,EAAE,OAAO;6BACf;4BACD,UAAU,EAAE,EAAE;4BACd,SAAS,EAAE,EAAE;4BACb,WAAW,EAAE;gCACX,QAAQ,EAAE,EAAE;gCACZ,OAAO,EAAE,EAAE;gCACX,SAAS,EAAE,EAAE;gCACb,OAAO,EAAE,EAAE;6BACZ;yBACF;qBACF;oBACD,UAAU,EAAE,KAAK;iBAClB;gBACD,MAAM,EAAE;oBACN,SAAS,EAAE;wBACT,IAAI,EAAE,aAAa;wBACnB,QAAQ,EAAE;4BACR,UAAU,EAAE,MAAM;4BAClB,QAAQ,EAAE,EAAE;4BACZ,aAAa,EAAE,GAAG;yBACnB;qBACF;oBACD,UAAU,EAAE,KAAK;iBAClB;aACF;YACD,YAAY,EAAE;gBACZ,aAAa,EAAE;oBACb,GAAG,EAAE,IAAI;oBACT,GAAG,EAAE,IAAI;oBACT,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,IAAI;oBACd,QAAQ,EAAE,IAAI;iBACf;aACF;SACF;KACF;CACF,CAAC;AAEF;;;;;;;GAOG;AACH,SAAS,kBAAkB;IACzB,MAAM,SAAS,GAAG;QAChB,SAAS;QACT,SAAS;QACT,aAAa;QACb,QAAQ;QACR,IAAI;QACJ,UAAU;QACV,OAAO;QACP,SAAS;QACT,MAAM;QACN,cAAc;QACd,KAAK;QACL,MAAM;QACN,QAAQ;KACT,CAAC;IAEF,MAAM,GAAG,GAAmB,EAAE,CAAC;IAC/B,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,MAAM,SAAS,GAAG,CAAC,SAAS,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;IACtD,SAAS,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC1B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,KAAK,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC,CAAC,CAAC;IACH,MAAM,UAAU,GAAG;QACjB,OAAO;QACP,OAAO;QACP,cAAc;QACd,WAAW;QACX,iBAAiB;QACjB,gBAAgB;QAChB,UAAU;QACV,eAAe;QACf,KAAK;QACL,WAAW;QACX,YAAY;KACb,CAAC;IACF,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QAC3B,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,KAAK,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC,CAAC,CAAC;IACH,2BAA2B;IAC3B,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,sBAAsB;KACjC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,WAAW;QACtB,QAAQ,EAAE,2BAA2B;KACtC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,MAAM;QACjB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,4CAA4C;AAE5C;;;;;;GAMG;AACI,KAAK,UAAU,UAAU,CAC9B,WAA8B,EAC9B,cAAkC;IAElC,MAAM,IAAI,mCAAQ,YAAY,GAAK,WAAW,CAAE,CAAC;IACjD,MAAM,MAAM,GAAG,cAAc,CAAC,UAAU,CAAC;IACzC,0DAA0D;IAC1D,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,QAAQ;QACjC,CAAC,CAAC,iCAAyB;QAC3B,CAAC,CAAC,0BAAkB,CAAC;IACvB,uDAAuD;IACvD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;QACd,IAAI,CAAC,IAAI,GAAG,qBAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;KACtD;IACD,yBAAyB;IACzB,wEAAwE;IACxE,uBAAuB;IACvB,IAAI,CAAC,YAAY,GAAG,sBAAc,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IAEjE,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;QACnB,IAAI,CAAC,SAAS,GAAG,eAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KACrC;IAED,IAAI,CAAC,SAAS,GAAG,MAAM,8BAAsB,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAE9E,UAAU;IACV,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;QAC5B,uEAAuE;QACvE,IAAI,CAAC,eAAe,GAAG,GAAG,IAAI,CAAC,SAAS,IAAI,MAAM,CAAC,MAAM,IAAI,qBAAa,CACxE,oBAAY,CAAC,cAAc,CAAC,CAC7B,EAAE,CAAC;QAEJ,cAAc;QACd,IAAI,CAAC,GAAG,GAAG,WACT,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,eACnD,EAAE,CAAC;KACJ;SAAM;QACL,kDAAkD;QAClD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,gBAAgB,IAAI,CAAC,SAAS,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,GAAG,GAAG,GAAG,cAAc,CAAC,cAAc,CAAC,MAAM,CAAC,OAAO,CACxD,eAAe,EACf,aAAa,CACd,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;KACzB;IAED,gEAAgE;IAChE,yEAAyE;IACzE,uEAAuE;IACvE,uCAAuC;IAEvC,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC;IAE/B,8BAA8B;IAC9B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;QACf,IAAI,CAAC,KAAK,GAAG,0BAAkB,CAAC,MAAM,CAAC,CAAC;KACzC;IAED,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;QACvB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;KAC3C;IAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE;QACjB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;KAC/B;IACD,mCAAmC;IACnC,IAAI,CAAC,eAAO,CAAC,IAAI,EAAE,sBAAsB,CAAC,EAAE;QAC1C,eAAO,CAAC,sBAAsB,EAAE,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;KAC9D;IACD,gCAAgC;IAChC,IAAI,CAAC,eAAO,CAAC,IAAI,EAAE,wCAAwC,CAAC,EAAE;QAC5D,eAAO,CAAC,wCAAwC,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KACpE;IAED,0CAA0C;IAC1C,MAAM,MAAM,GAAG,IAAI,+BAAc,CAAoB,kBAAkB,EAAE,CAAC,CAAC;IAC3E,IAAI,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,mBAAW,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACxE,0BAA0B;IAC1B,KAAK,GAAG,MAAM,mBAAW,CACvB,KAAK,EACL,cAAgD,CACjD,CAAC;IAEF,qBAAqB;IACrB,MAAM,YAAY,GAAG,MAAM,iCAAyB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAC5E,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,YAAY,CAAC,SAAS,CAAC;IAEpD,mBAAmB;IACnB,MAAM,sBAAc,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;IAE5C,mBAAmB;IACnB,MAAM,YAAY,GAAG,MAAM,mBAAW,CACpC,KAAK,EACL,cAAgD,CACjD,CAAC;IAEF,+CAA+C;IAC/C,OAAO,MAAM,CAAC,aAAa,CAAC,YAAY,EAAE,EAAE,CAAa,CAAC;AAC5D,CAAC;AAjGD,gCAiGC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,UAAU,CAC9B,IAAc,EACd,cAAkC;IAElC,iEAAiE;IACjE,4BAA4B;IAC5B,MAAM,MAAM,GAAG,IAAI,+BAAc,CAAW,kBAAkB,EAAE,CAAC,CAAC;IAClE,kEAAkE;IAClE,iEAAiE;IACjE,gBAAgB;IAChB,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CACvC,IAAI,EACJ,mBAAW,CAAC,kBAAkB,CAAC,CAChC,CAAC;IACF,sCAAsC;IACtC,MAAM,YAAY,GAAG,MAAM,gBAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAC7D,4BAA4B;IAC5B,MAAM,+BAAmB,CAAC,YAAY,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAEtE,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;QAC3E,0BAA0B;QAC1B,YAAY,CAAC,IAAI,CAAC,YAAY,GAAG,sBAAc,CAC7C,YAAY,CAAC,IAAI,CAAC,YAAY,EAC9B,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAClC,CAAC;KACH;IAED,gDAAgD;IAChD,MAAM,YAAY,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC9D,mBAAmB;IACnB,MAAM,gBAAgB,GAAG,MAAM,mBAAW,CACxC,YAAY,EACZ,cAA6C,CAC9C,CAAC;IACF,sBAAsB;IACtB,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;IACjE,OAAO,WAAW,CAAC;AACrB,CAAC;AArCD,gCAqCC;AAED;;;;;;;;;;GAUG;AACI,KAAK,UAAU,WAAW,CAC/B,EAAU,EACV,cAAkC;IAElC,sCAAsC;IACtC,OAAO,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;IAClE,OAAO,UAAU,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;AACxC,CAAC;AAPD,kCAOC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,UAAU,CAC9B,EAAU,EACV,cAAkC;IAElC,4DAA4D;IAC5D,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE;QAC5B,MAAM,6BAAqB,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;KACjD;IACD,6BAA6B;IAC7B,MAAM,EAAE,GAAG,gCAAK,cAAc,GAAK,EAAE,EAAE,EAAE,CAAsB,CAAC;IAChE,MAAM,+BAAU,CAAC,EAAE,CAAC,CAAC;IACrB,OAAO;AACT,CAAC;AAZD,gCAYC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,SAAS,CAC7B,UAAkB,EAClB,cAAkC;IAElC,gBAAgB;IAChB,MAAM,KAAK,GAAG,MAAM,+BAAc,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IAC/D,sBAAsB;IACtB,OAAO,kBAAkB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACnD,CAAC;AARD,8BAQC;AAED;;;;;GAKG;AACH,SAAgB,kBAAkB,CAChC,KAAa,EACb,cAA+B;IAE/B,kCAAkC;IAClC,4EAA4E;IAC5E,oEAAoE;IACpE,MAAM,oBAAoB,GAAG,mDAAwB,CAAC,KAAK,CAAC,CAAC;IAC7D,kBAAkB;IAClB,MAAM,MAAM,GAAG,IAAI,+BAAc,CAAoB,kBAAkB,EAAE,CAAC,CAAC;IAC3E,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,oBAAoB,EAAE,EAAE,CAAa,CAAC;IACxE,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,EAAE,GAAgB,cAAc,CAAC,cAA6B,CAAC;QACrE,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;KAClB;IAED,IAAI,CAAC,YAAY,GAAG,2BAAmB,CACrC,oBAAoB,CAAC,IAAI,EACzB,cAAc,EACd,KAAK,CACN,CAAC;IACF,OAAO,IAAI,CAAC;AACd,CAAC;AAvBD,gDAuBC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,iBAAiB,CACrC,IAAW,EACX,cAA+B;IAE/B,MAAM,KAAK,GAAG,MAAM,0BAAkB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IAC7D,OAAO,kBAAkB,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;AACnD,CAAC;AAND,8CAMC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,sBAAsB,CAC1C,IAAW,EACX,OAAiB,EACjB,cAAkC;IAElC,6BAA6B;IAC7B,MAAM,MAAM,GAAqB;QAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,EAAE,EAAE,IAAI,CAAC,EAAE;QACX,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,IAAI,EAAE,IAAI,CAAC,KAAK;QAChB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,WAAW;QACzC,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;QACnC,iBAAiB,EAAE,cAAc;QACjC,WAAW,EAAE,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;QACpC,iBAAiB,EAAE,eAAe;QAClC,MAAM,EAAE,iBAAS,CAAC,IAAI,CAAC,IAAI,CAAC;QAC5B,KAAK,EAAE;YACL,IAAI,EAAE,iBAAiB;YACvB,YAAY,EAAE,iBAAiB;YAC/B,SAAS,EAAE,iBAAiB;SAC7B;KACF,CAAC;IAEF,mBAAmB;IACnB,MAAM,QAAQ,GAAa,EAAE,CAAC;IAC9B,iBAAiB;IACjB,OAAO,GAAG,CAAC,GAAG,QAAQ,EAAE,GAAG,OAAO,CAAC,CAAC,MAAM,CAAC,cAAM,CAAC,CAAC;IACnD,qDAAqD;IACrD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,2BAAY,CAAC,CAAC;IACxC,+CAA+C;IAC/C,MAAM,WAAW,GAAG,aAAK,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,cAAM,CAAC,CAAC;IAC9D,wBAAwB;IACxB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,WAAW,CAAC,MAAM,EAAE;QACtB,mEAAmE;QACnE,QAAQ,GAAG,MAAM,mCAAoB,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;KAC1E;IAED,yCAAyC;IACzC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACrB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,eAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,eAAe;IACf,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,2BAAmB,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;IACnE,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC;IAC7B,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,6BAAiB,CAC3C,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,EAAE,EACT,IAAI,CAAC,YAAY,CAClB,CAAC;IAEF,OAAO,MAAM,CAAC;AAChB,CAAC;AA1DD,wDA0DC"}
@@ -0,0 +1,47 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SitesPermissionPolicies = exports.SitePermissions = void 0;
4
+ /**
5
+ * Site Permissions
6
+ * This feeds into the Permissions type
7
+ */
8
+ exports.SitePermissions = [
9
+ "hub:site:create",
10
+ "hub:site:delete",
11
+ "hub:site:edit",
12
+ "hub:site:view",
13
+ ];
14
+ /**
15
+ * Site permission policies
16
+ * @private
17
+ */
18
+ exports.SitesPermissionPolicies = [
19
+ {
20
+ permission: "hub:site:create",
21
+ subsystems: ["sites"],
22
+ authenticated: true,
23
+ privileges: ["portal:user:createItem"],
24
+ licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
25
+ },
26
+ {
27
+ permission: "hub:site:view",
28
+ subsystems: ["sites"],
29
+ authenticated: false,
30
+ licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
31
+ },
32
+ {
33
+ permission: "hub:site:delete",
34
+ subsystems: ["sites"],
35
+ authenticated: true,
36
+ licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
37
+ entityOwner: true,
38
+ },
39
+ {
40
+ permission: "hub:site:edit",
41
+ entityEdit: true,
42
+ subsystems: ["sites"],
43
+ authenticated: true,
44
+ licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
45
+ },
46
+ ];
47
+ //# sourceMappingURL=SitesPermissionPolicies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SitesPermissionPolicies.js","sourceRoot":"","sources":["../../../../src/sites/_internal/SitesPermissionPolicies.ts"],"names":[],"mappings":";;;AAEA;;;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"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyPermissionMigration = void 0;
4
+ const index_1 = require("../../index");
5
+ /**
6
+ * Informal migration that creates default permission policies based on the
7
+ * Content and Collaboration Groups
8
+ * @param model
9
+ */
10
+ function applyPermissionMigration(model) {
11
+ // TODO: Once we formalize the permission mapping we need to
12
+ // bump the current schema version, and add it here so this gets
13
+ // applied once and then never again.
14
+ // const PERMISSION_SCHEMA_VERSION = 1.6
15
+ // if (
16
+ // getProp(model, "item.properties.schemaVersion") >= PERMISSION_SCHEMA_VERSION
17
+ // )
18
+ // return model;
19
+ const clone = index_1.cloneObject(model);
20
+ clone.data.permissions = clone.data.permissions || [];
21
+ const permissionMigrations = [
22
+ // Per discussion with @jaydev on 2022-12-01 we are going to
23
+ // allow content team members to create projects in the context
24
+ // of a site
25
+ {
26
+ prop: "item.properties.contentGroupId",
27
+ type: "group",
28
+ permissions: ["hub:project:create"],
29
+ },
30
+ {
31
+ prop: "item.owner",
32
+ type: "user",
33
+ permissions: ["hub:site:delete"],
34
+ },
35
+ ];
36
+ permissionMigrations.forEach((defn) => {
37
+ const value = index_1.getProp(clone, defn.prop);
38
+ if (value) {
39
+ defn.permissions.forEach((permission) => {
40
+ const present = clone.data.permissions.find((p) => p.permission === permission && p.collaborationId === value);
41
+ if (!present) {
42
+ clone.data.permissions.push({
43
+ permission,
44
+ collaborationType: defn.type,
45
+ collaborationId: value,
46
+ });
47
+ }
48
+ });
49
+ }
50
+ });
51
+ // TODO: Uncomment when we formalize the schema version this applies to
52
+ // clone.item.properties.schemaVersion = PERMISSION_SCHEMA_VERSION;
53
+ return clone;
54
+ }
55
+ exports.applyPermissionMigration = applyPermissionMigration;
56
+ //# sourceMappingURL=applyPermissionMigration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyPermissionMigration.js","sourceRoot":"","sources":["../../../../src/sites/_internal/applyPermissionMigration.ts"],"names":[],"mappings":";;;AAAA,uCAOqB;AAErB;;;;GAIG;AACH,SAAgB,wBAAwB,CAAC,KAAa;IACpD,4DAA4D;IAC5D,gEAAgE;IAChE,qCAAqC;IACrC,wCAAwC;IACxC,OAAO;IACP,iFAAiF;IACjF,IAAI;IACJ,kBAAkB;IAElB,MAAM,KAAK,GAAG,mBAAW,CAAC,KAAK,CAAC,CAAC;IACjC,KAAK,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC;IACtD,MAAM,oBAAoB,GAAG;QAC3B,4DAA4D;QAC5D,+DAA+D;QAC/D,YAAY;QACZ;YACE,IAAI,EAAE,gCAAgC;YACtC,IAAI,EAAE,OAA4B;YAClC,WAAW,EAAE,CAAC,oBAAoB,CAAiB;SACpD;QACD;YACE,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,MAA2B;YACjC,WAAW,EAAE,CAAC,iBAAiB,CAAiB;SACjD;KACF,CAAC;IAEF,oBAAoB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACpC,MAAM,KAAK,GAAG,eAAO,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,KAAK,EAAE;YACT,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,UAAsB,EAAE,EAAE;gBAClD,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CACzC,CAAC,CAA0B,EAAE,EAAE,CAC7B,CAAC,CAAC,UAAU,KAAK,UAAU,IAAI,CAAC,CAAC,eAAe,KAAK,KAAK,CAC7D,CAAC;gBACF,IAAI,CAAC,OAAO,EAAE;oBACZ,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;wBAC1B,UAAU;wBACV,iBAAiB,EAAE,IAAI,CAAC,IAAI;wBAC5B,eAAe,EAAE,KAAK;qBACvB,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IACH,uEAAuE;IACvE,mEAAmE;IACnE,OAAO,KAAK,CAAC;AACf,CAAC;AAjDD,4DAiDC"}
@@ -1,7 +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 { IHubRequestOptions } from ".";
4
+ import { HubSystemStatus, IHubRequestOptions } from "./index";
5
+ import { HubLicense } from "./permissions/types";
5
6
  /**
6
7
  * Defines the properties of the ArcGISContext.
7
8
  * Typically components or functions will get an instance
@@ -125,10 +126,23 @@ export interface IArcGISContext {
125
126
  * Returns the portal object
126
127
  */
127
128
  portal: IPortal;
129
+ /**
130
+ * What is the current user's hub license level?
131
+ */
132
+ hubLicense: HubLicense;
128
133
  /**
129
134
  * Additional app-specific context
130
135
  */
131
136
  properties: Record<string, any>;
137
+ /**
138
+ * System status
139
+ */
140
+ systemStatus: HubSystemStatus;
141
+ /**
142
+ * Is this user in a Hub Alpha org?
143
+ * Derived from properties.alphaOrgs
144
+ */
145
+ isAlphaOrg: boolean;
132
146
  }
133
147
  /**
134
148
  * Options for the ArcGISContext constructor
@@ -173,6 +187,10 @@ export interface IArcGISContextOptions {
173
187
  * Optional hash of additional context
174
188
  */
175
189
  properties?: Record<string, any>;
190
+ /**
191
+ * Option to pass in system status vs fetching it
192
+ */
193
+ systemStatus?: HubSystemStatus;
176
194
  }
177
195
  /**
178
196
  * Abstraction that holds a `UserSession`, along with
@@ -199,6 +217,7 @@ export declare class ArcGISContext implements IArcGISContext {
199
217
  private _portalSelf;
200
218
  private _currentUser;
201
219
  private _properties;
220
+ private _systemStatus;
202
221
  /**
203
222
  * Create a new instance of `ArcGISContext`.
204
223
  *
@@ -213,6 +232,11 @@ export declare class ArcGISContext implements IArcGISContext {
213
232
  * Return boolean indicating if authenticatio is present
214
233
  */
215
234
  get isAuthenticated(): boolean;
235
+ /**
236
+ * Is the users org in the alpha orgs list?
237
+ * Alpha orgs are passed in via properties.alphaOrgs
238
+ */
239
+ get isAlphaOrg(): boolean;
216
240
  /**
217
241
  * Return `IUserRequestOptions`, which is used for REST-JS
218
242
  * functions which require authentication information.
@@ -243,6 +267,14 @@ export declare class ArcGISContext implements IArcGISContext {
243
267
  * https://{portalHostname}/{webadaptor}
244
268
  */
245
269
  get portalUrl(): string;
270
+ /**
271
+ * Returns the current user's Hub License
272
+ */
273
+ get hubLicense(): HubLicense;
274
+ /**
275
+ * Returns the current hub system status information
276
+ */
277
+ get systemStatus(): HubSystemStatus;
246
278
  /**
247
279
  * Returns the url to the sharing api composed from portalUrl
248
280
  * i.e. https://myorg.maps.arcgis.com/sharing/rest
@@ -1,7 +1,7 @@
1
1
  import { IPortal } from "@esri/arcgis-rest-portal";
2
2
  import { IUser, UserSession } from "@esri/arcgis-rest-auth";
3
3
  import { IArcGISContext } from "./ArcGISContext";
4
- import { Level } from ".";
4
+ import { Level, HubSystemStatus } from ".";
5
5
  /**
6
6
  * Options that can be passed into `ArcGISContextManager.create`
7
7
  */
@@ -46,6 +46,10 @@ export interface IArcGISContextManagerOptions {
46
46
  * defaults to 'error'
47
47
  */
48
48
  logLevel?: Level;
49
+ /**
50
+ * Option to pass in system status vs fetching it
51
+ */
52
+ systemStatus?: HubSystemStatus;
49
53
  }
50
54
  /**
51
55
  * The manager exposes context (`IArcGISContext`), which combines a `UserSession` with
@@ -76,6 +80,7 @@ export declare class ArcGISContextManager {
76
80
  private _portalSelf;
77
81
  private _currentUser;
78
82
  private _logLevel;
83
+ private _systemStatus;
79
84
  /**
80
85
  * Private constructor. Use `ArcGISContextManager.create(...)` to
81
86
  * instantiate an instance
@@ -52,7 +52,14 @@ export declare const setContentBoundary: (content: IHubContent, boundary: Geogra
52
52
  publisher?: {
53
53
  name?: string;
54
54
  username?: string;
55
- nameSource: PublisherSource;
55
+ nameSource: PublisherSource; /**
56
+ * Get the relative URL to use for the item in a hub site
57
+ * @param type
58
+ * @param identifier
59
+ * @param typeKeywords
60
+ * @returns
61
+ * @private
62
+ */
56
63
  organization?: string;
57
64
  orgId?: string;
58
65
  organizationSource: PublisherSource;
@@ -74,21 +81,24 @@ export declare const setContentBoundary: (content: IHubContent, boundary: Geogra
74
81
  view?: import("../core").IWithViewSettings;
75
82
  owner: string;
76
83
  id: string;
84
+ itemControl: string;
77
85
  access?: import("../core").AccessLevel;
78
86
  url?: string;
79
- culture?: string;
87
+ canEdit: boolean;
80
88
  description?: string;
81
- extent?: number[][];
89
+ name: string;
82
90
  tags: string[];
91
+ type: string;
92
+ culture?: string;
93
+ extent?: number[][];
83
94
  thumbnailUrl?: string;
84
95
  thumbnail?: string;
85
96
  typeKeywords?: string[];
86
- name: string;
97
+ canDelete: boolean;
87
98
  createdDate: Date;
88
99
  createdDateSource: string;
89
100
  updatedDate: Date;
90
101
  updatedDateSource: string;
91
- type: string;
92
102
  statistics?: any;
93
103
  data?: {
94
104
  [propName: string]: any;
@@ -1,12 +1,13 @@
1
1
  import { IGroup } from "@esri/arcgis-rest-portal";
2
2
  import { IArcGISContext } from "../ArcGISContext";
3
- import { IWithSharingBehavior, IWithStoreBehavior, IWithFeaturedImageBehavior } from "./behaviors";
3
+ import { IAccessResponse, IEntityPermissionPolicy, Permission } from "../permissions";
4
+ import { IWithSharingBehavior, IWithStoreBehavior, IWithFeaturedImageBehavior, IWithPermissionBehavior } from "./behaviors";
4
5
  import { IWithThumbnailBehavior } from "./behaviors/IWithThumbnailBehavior";
5
6
  import { IHubItemEntity, SettableAccessLevel } from "./types";
6
7
  /**
7
8
  * Base class for all Hub Entities backed by items
8
9
  */
9
- export declare abstract class HubItemEntity<T extends IHubItemEntity> implements IWithStoreBehavior<T>, IWithSharingBehavior, IWithThumbnailBehavior, IWithFeaturedImageBehavior {
10
+ export declare abstract class HubItemEntity<T extends IHubItemEntity> implements IWithStoreBehavior<T>, IWithSharingBehavior, IWithThumbnailBehavior, IWithFeaturedImageBehavior, IWithPermissionBehavior {
10
11
  protected context: IArcGISContext;
11
12
  protected entity: T;
12
13
  protected isDestroyed: boolean;
@@ -15,6 +16,30 @@ export declare abstract class HubItemEntity<T extends IHubItemEntity> implements
15
16
  filename: string;
16
17
  };
17
18
  constructor(entity: T, context: IArcGISContext);
19
+ /**
20
+ * Check if current user has a specific permission, accounting for
21
+ * both system and entity level policies
22
+ * @param permission
23
+ * @returns
24
+ */
25
+ checkPermission(permission: Permission): IAccessResponse;
26
+ /**
27
+ * Get all policies related to a specific permission
28
+ * @param permission
29
+ * @returns
30
+ */
31
+ getPermissionPolicies(permission: Permission): IEntityPermissionPolicy[];
32
+ /**
33
+ * Add a policy to the entity
34
+ * @param policy
35
+ */
36
+ addPermissionPolicy(policy: IEntityPermissionPolicy): void;
37
+ /**
38
+ * Remove a policy from the entity
39
+ * @param permission
40
+ * @param id
41
+ */
42
+ removePermissionPolicy(permission: Permission, id: string): void;
18
43
  /**
19
44
  * Return the entity id
20
45
  */
@@ -37,14 +62,14 @@ export declare abstract class HubItemEntity<T extends IHubItemEntity> implements
37
62
  * or be a member of a shared editing group, to which the item is shared.
38
63
  * @returns
39
64
  */
40
- canEdit(): Promise<boolean>;
65
+ get canEdit(): boolean;
41
66
  /**
42
67
  * Can the current user delete the Entity?
43
68
  * In order to delete an item, the user must be the owner of the item or a full org_admin
44
69
  * in the owner's organization.
45
70
  * @returns
46
71
  */
47
- canDelete(): Promise<boolean>;
72
+ get canDelete(): boolean;
48
73
  /**
49
74
  * Share the Entity with the specified group id
50
75
  * @param groupId
@@ -1,40 +1,28 @@
1
- import { IUser } from "@esri/arcgis-rest-portal";
2
- import { PermissionManager } from "../PermissionManager";
3
- import { IHubPermission, HubPermission } from "../types/IHubPermission";
1
+ import { IAccessResponse, IEntityPermissionPolicy, Permission } from "../../permissions";
4
2
  /**
5
3
  * Composable behavior that adds permissions to an entity
6
4
  */
7
5
  export interface IWithPermissionBehavior {
8
- permissions: PermissionManager;
6
+ /**
7
+ * Determine if the current user has a specific permission
8
+ * taking into account any entity specific policies
9
+ * @param permission
10
+ */
11
+ checkPermission(permission: Permission): IAccessResponse;
12
+ /**
13
+ * Get all policies for a specific permission
14
+ * @param permission
15
+ */
16
+ getPermissionPolicies(permission: Permission): IEntityPermissionPolicy[];
17
+ /**
18
+ * Add a permission policy to the entity
19
+ * @param policy
20
+ */
21
+ addPermissionPolicy(policy: IEntityPermissionPolicy): void;
22
+ /**
23
+ * Remove a permission policy from the entity
24
+ * @param permission
25
+ * @param id
26
+ */
27
+ removePermissionPolicy(permission: Permission, id: string): void;
9
28
  }
10
- /**
11
- * Check if the user has a specific permission in the context of an entity
12
- * @param entity
13
- * @param permission
14
- * @param user
15
- * @returns
16
- */
17
- export declare function checkPermission(permission: HubPermission, user: IUser, permissions: IHubPermission[]): boolean;
18
- /**
19
- * Get all the permission definitions for the given entity, and the specific permission
20
- * @param permission
21
- * @param permissions
22
- * @returns
23
- */
24
- export declare function getPermissions(permission: HubPermission, permissions: IHubPermission[]): IHubPermission[];
25
- /**
26
- * Add a permission entry to the permissions array
27
- * @param permission
28
- * @param definition
29
- * @param permissions
30
- * @returns
31
- */
32
- export declare function addPermission(definition: IHubPermission, permissions: IHubPermission[]): IHubPermission[];
33
- /**
34
- * Remove a permission
35
- * @param permission
36
- * @param targetId
37
- * @param permissions
38
- * @returns
39
- */
40
- export declare function removePermission(permission: HubPermission, targetId: string, permissions: IHubPermission[]): IHubPermission[];
@@ -2,6 +2,16 @@
2
2
  * Ensure consitent interfaces for the Hub classes
3
3
  */
4
4
  export interface IWithStoreBehavior<T> {
5
+ /**
6
+ * Can the current user edit the Entity?
7
+ * Derived from the item.itemControl = "admin" || "update"
8
+ */
9
+ readonly canEdit: boolean;
10
+ /**
11
+ * Can the current user delete the Entity?
12
+ * Derived from item.itemControl = "admin"
13
+ */
14
+ readonly canDelete: boolean;
5
15
  /**
6
16
  * Export the internal entity to a JSON object. This should be used to get the JSON representation of the entity before passing into a component
7
17
  */
@@ -19,14 +29,4 @@ export interface IWithStoreBehavior<T> {
19
29
  * Delete the class instance from it's backing store
20
30
  */
21
31
  delete(): Promise<void>;
22
- /**
23
- * Can the current user edit the Entity?
24
- * User must be owner, or member of a shared editing group, to which the item is shared
25
- */
26
- canEdit(useCache: boolean): Promise<boolean>;
27
- /**
28
- * Can the current user delete the Entity?
29
- * User must own the entiry or be an org admin in the owner's org
30
- */
31
- canDelete(useCache: boolean): Promise<boolean>;
32
32
  }
@@ -0,0 +1,11 @@
1
+ import { IArcGISContext } from "../ArcGISContext";
2
+ import { HubEntity } from "./types/HubEntity";
3
+ import { HubEntityType } from "./types/HubEntityType";
4
+ /**
5
+ * Fetch a Hub entity by identifier (id or slug)
6
+ * @param type
7
+ * @param identifier
8
+ * @param context
9
+ * @returns
10
+ */
11
+ export declare function fetchHubEntity(type: HubEntityType, identifier: string, context: IArcGISContext): Promise<HubEntity>;
@@ -0,0 +1,8 @@
1
+ import { HubEntity } from "./types/HubEntity";
2
+ import { HubEntityType } from "./types/HubEntityType";
3
+ /**
4
+ * Given a HubEntity, return it's HubEntityType
5
+ * @param entity
6
+ * @returns
7
+ */
8
+ export declare function getTypeFromEntity(entity: HubEntity): HubEntityType;
@@ -1,5 +1,6 @@
1
1
  export * from "./traits";
2
2
  export * from "./types";
3
3
  export * from "./behaviors";
4
- export * from "./PermissionManager";
5
4
  export * from "./schemas";
5
+ export * from "./fetchHubEntity";
6
+ export * from "./getTypeFromEntity";
@@ -1,10 +1,10 @@
1
- import { IHubPermission } from "../types";
1
+ import { IEntityPermissionPolicy } from "../../permissions";
2
2
  /**
3
3
  * Adds permissions property to an entity
4
4
  */
5
5
  export interface IWithPermissions {
6
6
  /**
7
- * List of permissions for the entity
7
+ * Array of permission policies that apply to the entity
8
8
  */
9
- permissions: IHubPermission[];
9
+ permissions?: IEntityPermissionPolicy[];
10
10
  }