@esri/hub-common 12.0.0-alpha.1 → 12.0.0-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (225) hide show
  1. package/dist/esm/ArcGISContext.js +14 -0
  2. package/dist/esm/ArcGISContext.js.map +1 -1
  3. package/dist/esm/capabilities/_internal/checkCapabilityAccess.js +47 -0
  4. package/dist/esm/capabilities/_internal/checkCapabilityAccess.js.map +1 -0
  5. package/dist/esm/capabilities/_internal/index.js +2 -0
  6. package/dist/esm/capabilities/_internal/index.js.map +1 -0
  7. package/dist/esm/capabilities/checkCapability.js +46 -0
  8. package/dist/esm/capabilities/checkCapability.js.map +1 -0
  9. package/dist/esm/capabilities/getWorkspaceCapabilities.js +38 -0
  10. package/dist/esm/capabilities/getWorkspaceCapabilities.js.map +1 -0
  11. package/dist/esm/capabilities/index.js +5 -0
  12. package/dist/esm/capabilities/index.js.map +1 -0
  13. package/dist/esm/capabilities/processEntityCapabilities.js +25 -0
  14. package/dist/esm/capabilities/processEntityCapabilities.js.map +1 -0
  15. package/dist/esm/capabilities/types.js +22 -0
  16. package/dist/esm/capabilities/types.js.map +1 -0
  17. package/dist/esm/core/HubItemEntity.js +8 -0
  18. package/dist/esm/core/HubItemEntity.js.map +1 -1
  19. package/dist/esm/{permissions → core}/types/IAccessResponse.js +0 -0
  20. package/dist/esm/core/types/IAccessResponse.js.map +1 -0
  21. package/dist/esm/index.js +1 -0
  22. package/dist/esm/index.js.map +1 -1
  23. package/dist/esm/initiatives/HubInitiative.js.map +1 -1
  24. package/dist/esm/initiatives/HubInitiatives.js +2 -36
  25. package/dist/esm/initiatives/HubInitiatives.js.map +1 -1
  26. package/dist/esm/initiatives/_internal/InitiativeBusinessRules.js +79 -0
  27. package/dist/esm/initiatives/_internal/InitiativeBusinessRules.js.map +1 -0
  28. package/dist/esm/initiatives/_internal/computeProps.js +31 -0
  29. package/dist/esm/initiatives/_internal/computeProps.js.map +1 -0
  30. package/dist/esm/initiatives/_internal/getPropertyMap.js +22 -0
  31. package/dist/esm/initiatives/_internal/getPropertyMap.js.map +1 -0
  32. package/dist/esm/permissions/HubPermissionPolicies.js +57 -2
  33. package/dist/esm/permissions/HubPermissionPolicies.js.map +1 -1
  34. package/dist/esm/permissions/_internal/checkAlphaGating.js +27 -0
  35. package/dist/esm/permissions/_internal/checkAlphaGating.js.map +1 -0
  36. package/dist/esm/permissions/_internal/checkAssertion.js +190 -0
  37. package/dist/esm/permissions/_internal/checkAssertion.js.map +1 -0
  38. package/dist/esm/permissions/_internal/checkAssertions.js +20 -0
  39. package/dist/esm/permissions/_internal/checkAssertions.js.map +1 -0
  40. package/dist/esm/permissions/_internal/checkAuthentication.js +15 -11
  41. package/dist/esm/permissions/_internal/checkAuthentication.js.map +1 -1
  42. package/dist/esm/permissions/_internal/checkEdit.js +6 -3
  43. package/dist/esm/permissions/_internal/checkEdit.js.map +1 -1
  44. package/dist/esm/permissions/_internal/checkEntityPolicy.js +14 -2
  45. package/dist/esm/permissions/_internal/checkEntityPolicy.js.map +1 -1
  46. package/dist/esm/permissions/_internal/checkLicense.js +21 -15
  47. package/dist/esm/permissions/_internal/checkLicense.js.map +1 -1
  48. package/dist/esm/permissions/_internal/checkOwner.js.map +1 -1
  49. package/dist/esm/permissions/_internal/checkPrivileges.js +19 -15
  50. package/dist/esm/permissions/_internal/checkPrivileges.js.map +1 -1
  51. package/dist/esm/permissions/_internal/getPolicyResponseCode.js +34 -16
  52. package/dist/esm/permissions/_internal/getPolicyResponseCode.js.map +1 -1
  53. package/dist/esm/permissions/checkPermission.js +6 -4
  54. package/dist/esm/permissions/checkPermission.js.map +1 -1
  55. package/dist/esm/permissions/types/IPermissionAccessResponse.js +1 -0
  56. package/dist/esm/permissions/types/IPermissionAccessResponse.js.map +1 -0
  57. package/dist/esm/permissions/types/Permission.js +8 -10
  58. package/dist/esm/permissions/types/Permission.js.map +1 -1
  59. package/dist/esm/permissions/types/index.js +1 -1
  60. package/dist/esm/permissions/types/index.js.map +1 -1
  61. package/dist/esm/projects/HubProject.js.map +1 -1
  62. package/dist/esm/projects/_internal/ProjectBusinessRules.js +79 -0
  63. package/dist/esm/projects/_internal/ProjectBusinessRules.js.map +1 -0
  64. package/dist/esm/projects/{_internal.js → _internal/computeProps.js} +7 -19
  65. package/dist/esm/projects/_internal/computeProps.js.map +1 -0
  66. package/dist/esm/projects/_internal/getPropertyMap.js +22 -0
  67. package/dist/esm/projects/_internal/getPropertyMap.js.map +1 -0
  68. package/dist/esm/projects/defaults.js +1 -0
  69. package/dist/esm/projects/defaults.js.map +1 -1
  70. package/dist/esm/projects/edit.js +2 -1
  71. package/dist/esm/projects/edit.js.map +1 -1
  72. package/dist/esm/projects/fetch.js +2 -1
  73. package/dist/esm/projects/fetch.js.map +1 -1
  74. package/dist/esm/sites/HubSites.js +16 -84
  75. package/dist/esm/sites/HubSites.js.map +1 -1
  76. package/dist/esm/sites/_internal/SiteBusinessRules.js +77 -0
  77. package/dist/esm/sites/_internal/SiteBusinessRules.js.map +1 -0
  78. package/dist/esm/sites/_internal/applyPermissionMigration.js +52 -0
  79. package/dist/esm/sites/_internal/applyPermissionMigration.js.map +1 -0
  80. package/dist/esm/sites/_internal/computeProps.js +32 -0
  81. package/dist/esm/sites/_internal/computeProps.js.map +1 -0
  82. package/dist/esm/sites/_internal/getPropertyMap.js +59 -0
  83. package/dist/esm/sites/_internal/getPropertyMap.js.map +1 -0
  84. package/dist/node/ArcGISContext.js +14 -0
  85. package/dist/node/ArcGISContext.js.map +1 -1
  86. package/dist/node/capabilities/_internal/checkCapabilityAccess.js +51 -0
  87. package/dist/node/capabilities/_internal/checkCapabilityAccess.js.map +1 -0
  88. package/dist/node/capabilities/_internal/index.js +5 -0
  89. package/dist/node/capabilities/_internal/index.js.map +1 -0
  90. package/dist/node/capabilities/checkCapability.js +50 -0
  91. package/dist/node/capabilities/checkCapability.js.map +1 -0
  92. package/dist/node/capabilities/getWorkspaceCapabilities.js +42 -0
  93. package/dist/node/capabilities/getWorkspaceCapabilities.js.map +1 -0
  94. package/dist/node/capabilities/index.js +8 -0
  95. package/dist/node/capabilities/index.js.map +1 -0
  96. package/dist/node/capabilities/processEntityCapabilities.js +29 -0
  97. package/dist/node/capabilities/processEntityCapabilities.js.map +1 -0
  98. package/dist/node/capabilities/types.js +26 -0
  99. package/dist/node/capabilities/types.js.map +1 -0
  100. package/dist/node/core/HubItemEntity.js +8 -0
  101. package/dist/node/core/HubItemEntity.js.map +1 -1
  102. package/dist/node/{permissions → core}/types/IAccessResponse.js +0 -0
  103. package/dist/node/core/types/IAccessResponse.js.map +1 -0
  104. package/dist/node/index.js +1 -0
  105. package/dist/node/index.js.map +1 -1
  106. package/dist/node/initiatives/HubInitiative.js.map +1 -1
  107. package/dist/node/initiatives/HubInitiatives.js +8 -42
  108. package/dist/node/initiatives/HubInitiatives.js.map +1 -1
  109. package/dist/node/initiatives/_internal/InitiativeBusinessRules.js +82 -0
  110. package/dist/node/initiatives/_internal/InitiativeBusinessRules.js.map +1 -0
  111. package/dist/node/initiatives/_internal/computeProps.js +35 -0
  112. package/dist/node/initiatives/_internal/computeProps.js.map +1 -0
  113. package/dist/node/initiatives/_internal/getPropertyMap.js +26 -0
  114. package/dist/node/initiatives/_internal/getPropertyMap.js.map +1 -0
  115. package/dist/node/permissions/HubPermissionPolicies.js +59 -4
  116. package/dist/node/permissions/HubPermissionPolicies.js.map +1 -1
  117. package/dist/node/permissions/_internal/checkAlphaGating.js +31 -0
  118. package/dist/node/permissions/_internal/checkAlphaGating.js.map +1 -0
  119. package/dist/node/permissions/_internal/checkAssertion.js +194 -0
  120. package/dist/node/permissions/_internal/checkAssertion.js.map +1 -0
  121. package/dist/node/permissions/_internal/checkAssertions.js +24 -0
  122. package/dist/node/permissions/_internal/checkAssertions.js.map +1 -0
  123. package/dist/node/permissions/_internal/checkAuthentication.js +15 -11
  124. package/dist/node/permissions/_internal/checkAuthentication.js.map +1 -1
  125. package/dist/node/permissions/_internal/checkEdit.js +6 -3
  126. package/dist/node/permissions/_internal/checkEdit.js.map +1 -1
  127. package/dist/node/permissions/_internal/checkEntityPolicy.js +14 -2
  128. package/dist/node/permissions/_internal/checkEntityPolicy.js.map +1 -1
  129. package/dist/node/permissions/_internal/checkLicense.js +21 -15
  130. package/dist/node/permissions/_internal/checkLicense.js.map +1 -1
  131. package/dist/node/permissions/_internal/checkOwner.js.map +1 -1
  132. package/dist/node/permissions/_internal/checkPrivileges.js +19 -15
  133. package/dist/node/permissions/_internal/checkPrivileges.js.map +1 -1
  134. package/dist/node/permissions/_internal/getPolicyResponseCode.js +34 -16
  135. package/dist/node/permissions/_internal/getPolicyResponseCode.js.map +1 -1
  136. package/dist/node/permissions/checkPermission.js +6 -4
  137. package/dist/node/permissions/checkPermission.js.map +1 -1
  138. package/dist/node/permissions/types/IPermissionAccessResponse.js +3 -0
  139. package/dist/node/permissions/types/IPermissionAccessResponse.js.map +1 -0
  140. package/dist/node/permissions/types/Permission.js +8 -10
  141. package/dist/node/permissions/types/Permission.js.map +1 -1
  142. package/dist/node/permissions/types/index.js +1 -1
  143. package/dist/node/permissions/types/index.js.map +1 -1
  144. package/dist/node/projects/HubProject.js.map +1 -1
  145. package/dist/node/projects/_internal/ProjectBusinessRules.js +82 -0
  146. package/dist/node/projects/_internal/ProjectBusinessRules.js.map +1 -0
  147. package/dist/node/projects/{_internal.js → _internal/computeProps.js} +8 -21
  148. package/dist/node/projects/_internal/computeProps.js.map +1 -0
  149. package/dist/node/projects/_internal/getPropertyMap.js +26 -0
  150. package/dist/node/projects/_internal/getPropertyMap.js.map +1 -0
  151. package/dist/node/projects/defaults.js +1 -0
  152. package/dist/node/projects/defaults.js.map +1 -1
  153. package/dist/node/projects/edit.js +6 -5
  154. package/dist/node/projects/edit.js.map +1 -1
  155. package/dist/node/projects/fetch.js +4 -3
  156. package/dist/node/projects/fetch.js.map +1 -1
  157. package/dist/node/sites/HubSites.js +16 -84
  158. package/dist/node/sites/HubSites.js.map +1 -1
  159. package/dist/node/sites/_internal/SiteBusinessRules.js +80 -0
  160. package/dist/node/sites/_internal/SiteBusinessRules.js.map +1 -0
  161. package/dist/node/sites/_internal/applyPermissionMigration.js +56 -0
  162. package/dist/node/sites/_internal/applyPermissionMigration.js.map +1 -0
  163. package/dist/node/sites/_internal/computeProps.js +36 -0
  164. package/dist/node/sites/_internal/computeProps.js.map +1 -0
  165. package/dist/node/sites/_internal/getPropertyMap.js +63 -0
  166. package/dist/node/sites/_internal/getPropertyMap.js.map +1 -0
  167. package/dist/types/ArcGISContext.d.ts +10 -0
  168. package/dist/types/capabilities/_internal/checkCapabilityAccess.d.ts +10 -0
  169. package/dist/types/capabilities/_internal/index.d.ts +1 -0
  170. package/dist/types/capabilities/checkCapability.d.ts +10 -0
  171. package/dist/types/capabilities/getWorkspaceCapabilities.d.ts +15 -0
  172. package/dist/types/capabilities/index.d.ts +4 -0
  173. package/dist/types/capabilities/processEntityCapabilities.d.ts +8 -0
  174. package/dist/types/capabilities/types.d.ts +57 -0
  175. package/dist/types/content/_internal.d.ts +2 -1
  176. package/dist/types/core/HubItemEntity.d.ts +10 -4
  177. package/dist/types/core/behaviors/IWithPermissionBehavior.d.ts +10 -2
  178. package/dist/types/core/traits/IWithPermissions.d.ts +2 -0
  179. package/dist/types/core/types/IAccessResponse.d.ts +20 -0
  180. package/dist/types/core/types/IHubSite.d.ts +4 -4
  181. package/dist/types/index.d.ts +1 -0
  182. package/dist/types/initiatives/HubInitiative.d.ts +2 -2
  183. package/dist/types/initiatives/_internal/InitiativeBusinessRules.d.ts +26 -0
  184. package/dist/types/initiatives/_internal/computeProps.d.ts +12 -0
  185. package/dist/types/initiatives/_internal/getPropertyMap.d.ts +8 -0
  186. package/dist/types/permissions/_internal/checkAlphaGating.d.ts +10 -0
  187. package/dist/types/permissions/_internal/checkAssertion.d.ts +11 -0
  188. package/dist/types/permissions/_internal/checkAssertions.d.ts +10 -0
  189. package/dist/types/permissions/_internal/checkAuthentication.d.ts +1 -2
  190. package/dist/types/permissions/_internal/checkEdit.d.ts +1 -2
  191. package/dist/types/permissions/_internal/checkLicense.d.ts +1 -1
  192. package/dist/types/permissions/_internal/checkOwner.d.ts +1 -2
  193. package/dist/types/permissions/_internal/checkPrivileges.d.ts +1 -2
  194. package/dist/types/permissions/checkPermission.d.ts +2 -3
  195. package/dist/types/permissions/types/IEntityPermissionPolicy.d.ts +1 -1
  196. package/dist/types/permissions/types/IPermissionAccessResponse.d.ts +18 -0
  197. package/dist/types/permissions/types/IPermissionPolicy.d.ts +18 -9
  198. package/dist/types/permissions/types/Permission.d.ts +3 -3
  199. package/dist/types/permissions/types/PolicyResponse.d.ts +1 -1
  200. package/dist/types/permissions/types/index.d.ts +1 -1
  201. package/dist/types/projects/HubProject.d.ts +2 -2
  202. package/dist/types/projects/_internal/ProjectBusinessRules.d.ts +26 -0
  203. package/dist/types/projects/{_internal.d.ts → _internal/computeProps.d.ts} +2 -10
  204. package/dist/types/projects/_internal/getPropertyMap.d.ts +8 -0
  205. package/dist/types/sites/HubSites.d.ts +1 -1
  206. package/dist/types/sites/_internal/SiteBusinessRules.d.ts +25 -0
  207. package/dist/types/sites/_internal/applyPermissionMigration.d.ts +7 -0
  208. package/dist/types/sites/_internal/computeProps.d.ts +12 -0
  209. package/dist/types/sites/_internal/getPropertyMap.d.ts +10 -0
  210. package/package.json +1 -1
  211. package/dist/esm/permissions/types/IAccessResponse.js.map +0 -1
  212. package/dist/esm/projects/_internal/ProjectPermissionPolicies.js +0 -35
  213. package/dist/esm/projects/_internal/ProjectPermissionPolicies.js.map +0 -1
  214. package/dist/esm/projects/_internal.js.map +0 -1
  215. package/dist/esm/sites/_internal/SitesPermissionPolicies.js +0 -34
  216. package/dist/esm/sites/_internal/SitesPermissionPolicies.js.map +0 -1
  217. package/dist/node/permissions/types/IAccessResponse.js.map +0 -1
  218. package/dist/node/projects/_internal/ProjectPermissionPolicies.js +0 -38
  219. package/dist/node/projects/_internal/ProjectPermissionPolicies.js.map +0 -1
  220. package/dist/node/projects/_internal.js.map +0 -1
  221. package/dist/node/sites/_internal/SitesPermissionPolicies.js +0 -37
  222. package/dist/node/sites/_internal/SitesPermissionPolicies.js.map +0 -1
  223. package/dist/types/permissions/types/IAccessResponse.d.ts +0 -29
  224. package/dist/types/projects/_internal/ProjectPermissionPolicies.d.ts +0 -7
  225. package/dist/types/sites/_internal/SitesPermissionPolicies.d.ts +0 -6
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Default capabilities for a Site. If not listed here, the capability will not be available
3
+ * This hash is combined with the capabilities hash stored in the item data. Regardless of what
4
+ * properties are defined in the item data, only the capabilities defined here will be available
5
+ * @private
6
+ */
7
+ export const SiteDefaultCapabilities = {
8
+ overview: true,
9
+ details: true,
10
+ settings: true,
11
+ };
12
+ /**
13
+ * List of all the Site Capability Permissions
14
+ * These are considered Hub Business Rules and are not intended
15
+ * to be modified by consumers
16
+ */
17
+ export const SiteCapabilityPermissions = [
18
+ {
19
+ entity: "site",
20
+ capability: "overview",
21
+ permissions: ["hub:site:view"],
22
+ },
23
+ {
24
+ entity: "site",
25
+ capability: "details",
26
+ permissions: ["hub:site:edit"],
27
+ },
28
+ {
29
+ entity: "site",
30
+ capability: "settings",
31
+ permissions: ["hub:site:edit"],
32
+ },
33
+ ];
34
+ /**
35
+ * Site Permissions
36
+ * This feeds into the Permissions type
37
+ */
38
+ export const SitePermissions = [
39
+ "hub:site:create",
40
+ "hub:site:delete",
41
+ "hub:site:edit",
42
+ "hub:site:view",
43
+ ];
44
+ /**
45
+ * Site permission policies
46
+ * @private
47
+ */
48
+ export const SitesPermissionPolicies = [
49
+ {
50
+ permission: "hub:site:create",
51
+ subsystems: ["sites"],
52
+ authenticated: true,
53
+ privileges: ["portal:user:createItem"],
54
+ licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
55
+ },
56
+ {
57
+ permission: "hub:site:view",
58
+ subsystems: ["sites"],
59
+ authenticated: false,
60
+ licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
61
+ },
62
+ {
63
+ permission: "hub:site:delete",
64
+ subsystems: ["sites"],
65
+ authenticated: true,
66
+ licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
67
+ entityOwner: true,
68
+ },
69
+ {
70
+ permission: "hub:site:edit",
71
+ entityEdit: true,
72
+ subsystems: ["sites"],
73
+ authenticated: true,
74
+ licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
75
+ },
76
+ ];
77
+ //# sourceMappingURL=SiteBusinessRules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SiteBusinessRules.js","sourceRoot":"","sources":["../../../../src/sites/_internal/SiteBusinessRules.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAuB;IACzD,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,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,CAAC;KAC/B;CACF,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,eAAe;CACP,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,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,52 @@
1
+ import { cloneObject, getProp, } from "../../index";
2
+ /**
3
+ * Informal migration that creates default permission policies based on the
4
+ * Content and Collaboration Groups
5
+ * @param model
6
+ */
7
+ export function applyPermissionMigration(model) {
8
+ // TODO: Once we formalize the permission mapping we need to
9
+ // bump the current schema version, and add it here so this gets
10
+ // applied once and then never again.
11
+ // const PERMISSION_SCHEMA_VERSION = 1.6
12
+ // if (
13
+ // getProp(model, "item.properties.schemaVersion") >= PERMISSION_SCHEMA_VERSION
14
+ // )
15
+ // return model;
16
+ const clone = cloneObject(model);
17
+ clone.data.permissions = clone.data.permissions || [];
18
+ const permissionMigrations = [
19
+ // Per discussion with @jaydev on 2022-12-01 we are going to
20
+ // allow content team members to create projects in the context
21
+ // of a site
22
+ {
23
+ prop: "item.properties.contentGroupId",
24
+ type: "group",
25
+ permissions: ["hub:project:create"],
26
+ },
27
+ {
28
+ prop: "item.owner",
29
+ type: "user",
30
+ permissions: ["hub:site:delete"],
31
+ },
32
+ ];
33
+ permissionMigrations.forEach((defn) => {
34
+ const value = getProp(clone, defn.prop);
35
+ if (value) {
36
+ defn.permissions.forEach((permission) => {
37
+ const present = clone.data.permissions.find((p) => p.permission === permission && p.collaborationId === value);
38
+ if (!present) {
39
+ clone.data.permissions.push({
40
+ permission,
41
+ collaborationType: defn.type,
42
+ collaborationId: value,
43
+ });
44
+ }
45
+ });
46
+ }
47
+ });
48
+ // TODO: Uncomment when we formalize the schema version this applies to
49
+ // clone.item.properties.schemaVersion = PERMISSION_SCHEMA_VERSION;
50
+ return clone;
51
+ }
52
+ //# sourceMappingURL=applyPermissionMigration.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"applyPermissionMigration.js","sourceRoot":"","sources":["../../../../src/sites/_internal/applyPermissionMigration.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EAEX,OAAO,GAIR,MAAM,aAAa,CAAC;AAErB;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAa;IACpD,4DAA4D;IAC5D,gEAAgE;IAChE,qCAAqC;IACrC,wCAAwC;IACxC,OAAO;IACP,iFAAiF;IACjF,IAAI;IACJ,kBAAkB;IAElB,MAAM,KAAK,GAAG,WAAW,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,OAAO,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"}
@@ -0,0 +1,32 @@
1
+ import { getItemThumbnailUrl } from "../../resources";
2
+ import { SiteDefaultCapabilities } from "./SiteBusinessRules";
3
+ import { processEntityCapabilities } from "../../capabilities";
4
+ /**
5
+ * Given a model and a site, set various computed properties that can't be directly mapped
6
+ * @private
7
+ * @param model
8
+ * @param site
9
+ * @param requestOptions
10
+ * @returns
11
+ */
12
+ export function computeProps(model, site, requestOptions) {
13
+ var _a;
14
+ let token;
15
+ if (requestOptions.authentication) {
16
+ const session = requestOptions.authentication;
17
+ token = session.token;
18
+ }
19
+ // thumbnail url
20
+ site.thumbnailUrl = getItemThumbnailUrl(model.item, requestOptions, token);
21
+ // Handle Dates
22
+ site.createdDate = new Date(model.item.created);
23
+ site.createdDateSource = "item.created";
24
+ site.updatedDate = new Date(model.item.modified);
25
+ site.updatedDateSource = "item.modified";
26
+ // Handle capabilities
27
+ // NOTE: This does not currently contain the older "capabilities" values!
28
+ site.capabilities = processEntityCapabilities(((_a = model.data.settings) === null || _a === void 0 ? void 0 : _a.capabilities) || {}, SiteDefaultCapabilities);
29
+ // cast b/c this takes a partial but returns a full site
30
+ return site;
31
+ }
32
+ //# sourceMappingURL=computeProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/sites/_internal/computeProps.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAE/D;;;;;;;GAOG;AACH,MAAM,UAAU,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,mBAAmB,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;IAEzC,sBAAsB;IACtB,yEAAyE;IACzE,IAAI,CAAC,YAAY,GAAG,yBAAyB,CAC3C,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,YAAY,KAAI,EAAE,EACvC,uBAAuB,CACxB,CAAC;IAEF,wDAAwD;IACxD,OAAO,IAAgB,CAAC;AAC1B,CAAC"}
@@ -0,0 +1,59 @@
1
+ import { getBasePropertyMap } from "../../core/_internal/getBasePropertyMap";
2
+ /**
3
+ * Returns an Array of IPropertyMap objects
4
+ * We could define these directly, but since the
5
+ * properties of IHubSite map directly to properties
6
+ * on item or data, it's slightly less verbose to
7
+ * generate the structure.
8
+ * @returns
9
+ */
10
+ export function getPropertyMap() {
11
+ const map = getBasePropertyMap();
12
+ // Site specific mappings
13
+ map.push({ objectKey: "catalog", modelKey: "data.catalog" });
14
+ map.push({ objectKey: "feeds", modelKey: "data.feeds" });
15
+ map.push({ objectKey: "permissions", modelKey: "data.permissions" });
16
+ map.push({
17
+ objectKey: "capabilities",
18
+ modelKey: "data.capabilities",
19
+ });
20
+ // Props stored below `data.values`
21
+ const valueProps = [
22
+ "pages",
23
+ "theme",
24
+ "subdomain",
25
+ "defaultHostname",
26
+ "customHostname",
27
+ "clientId",
28
+ "defaultExtent",
29
+ "map",
30
+ "telemetry",
31
+ "headerSass",
32
+ ];
33
+ valueProps.forEach((entry) => {
34
+ map.push({ objectKey: entry, modelKey: `data.values.${entry}` });
35
+ });
36
+ // Deeper/Indirect mappings
37
+ map.push({
38
+ objectKey: "slug",
39
+ modelKey: "item.properties.slug",
40
+ });
41
+ map.push({
42
+ objectKey: "classicCapabilities",
43
+ modelKey: "data.values.capabilities",
44
+ });
45
+ map.push({
46
+ objectKey: "capabilities",
47
+ modelKey: "data.settings.capabilities",
48
+ });
49
+ map.push({
50
+ objectKey: "orgUrlKey",
51
+ modelKey: "item.properties.orgUrlKey",
52
+ });
53
+ map.push({
54
+ objectKey: "name",
55
+ modelKey: "item.title",
56
+ });
57
+ return map;
58
+ }
59
+ //# sourceMappingURL=getPropertyMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/sites/_internal/getPropertyMap.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAE7E;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc;IAC5B,MAAM,GAAG,GAAG,kBAAkB,EAAE,CAAC;IACjC,yBAAyB;IACzB,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAC;IACzD,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAC,CAAC;IACrE,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,mBAAmB;KAC9B,CAAC,CAAC;IACH,mCAAmC;IACnC,MAAM,UAAU,GAAG;QACjB,OAAO;QACP,OAAO;QACP,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,qBAAqB;QAChC,QAAQ,EAAE,0BAA0B;KACrC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC;QACP,SAAS,EAAE,cAAc;QACzB,QAAQ,EAAE,4BAA4B;KACvC,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;IAEH,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -59,6 +59,20 @@ class ArcGISContext {
59
59
  get isAuthenticated() {
60
60
  return !!this._authentication;
61
61
  }
62
+ /**
63
+ * Is the users org in the alpha orgs list?
64
+ * Alpha orgs are passed in via properties.alphaOrgs
65
+ */
66
+ get isAlphaOrg() {
67
+ var _a, _b;
68
+ let result = false;
69
+ const orgs = ((_a = this._properties) === null || _a === void 0 ? void 0 : _a.alphaOrgs) || [];
70
+ const orgId = (_b = this._portalSelf) === null || _b === void 0 ? void 0 : _b.id;
71
+ if (orgs.length && orgId) {
72
+ result = orgs.includes(orgId);
73
+ }
74
+ return result;
75
+ }
62
76
  /**
63
77
  * Return `IUserRequestOptions`, which is used for REST-JS
64
78
  * functions which require authentication information.
@@ -1 +1 @@
1
- {"version":3,"file":"ArcGISContext.js","sourceRoot":"","sources":["../../src/ArcGISContext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ArcGISContext.js","sourceRoot":"","sources":["../../src/ArcGISContext.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkCapabilityAccess = void 0;
4
+ const index_1 = require("../../index");
5
+ /**
6
+ * Check an individual capability access rule
7
+ * @param rule
8
+ * @param context
9
+ * @param entity
10
+ * @returns
11
+ */
12
+ function checkCapabilityAccess(rule, context, entity) {
13
+ // check if the capability is disabled for the entity; we default to false
14
+ const value = entity.capabilities[rule.capability] || false;
15
+ // if disabled, then access is denied
16
+ if (!value) {
17
+ return {
18
+ capability: rule.capability,
19
+ access: false,
20
+ code: "disabled",
21
+ response: "not-available",
22
+ message: `Owner ${entity.owner} has disabled ${rule.capability} capability.`,
23
+ responses: [],
24
+ };
25
+ }
26
+ else {
27
+ // check each permission in the rule
28
+ const chks = rule.permissions.map((permission) => {
29
+ return index_1.checkPermission(permission, context, entity);
30
+ });
31
+ // default to last check
32
+ let accessCheck = chks[chks.length - 1];
33
+ // if all checks are true, then access is granted
34
+ const access = chks.every((chk) => chk.access);
35
+ if (!access) {
36
+ // get the first failed check and use it's values in the response
37
+ accessCheck = chks.find((chk) => !chk.access);
38
+ }
39
+ // construct the response
40
+ return {
41
+ capability: rule.capability,
42
+ access: accessCheck.access,
43
+ code: accessCheck.code,
44
+ response: accessCheck.response,
45
+ message: accessCheck.message,
46
+ responses: chks,
47
+ };
48
+ }
49
+ }
50
+ exports.checkCapabilityAccess = checkCapabilityAccess;
51
+ //# sourceMappingURL=checkCapabilityAccess.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkCapabilityAccess.js","sourceRoot":"","sources":["../../../../src/capabilities/_internal/checkCapabilityAccess.ts"],"names":[],"mappings":";;;AAAA,uCAKqB;AAGrB;;;;;;GAMG;AACH,SAAgB,qBAAqB,CACnC,IAA2B,EAC3B,OAAuB,EACvB,MAAiB;IAEjB,0EAA0E;IAC1E,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;IAC5D,qCAAqC;IACrC,IAAI,CAAC,KAAK,EAAE;QACV,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,eAAe;YACzB,OAAO,EAAE,SAAS,MAAM,CAAC,KAAK,iBAAiB,IAAI,CAAC,UAAU,cAAc;YAC5E,SAAS,EAAE,EAAE;SACd,CAAC;KACH;SAAM;QACL,oCAAoC;QACpC,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE;YAC/C,OAAO,uBAAe,CAAC,UAAU,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QACH,wBAAwB;QACxB,IAAI,WAAW,GAA8B,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACnE,iDAAiD;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE/C,IAAI,CAAC,MAAM,EAAE;YACX,iEAAiE;YACjE,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;SAC/C;QACD,yBAAyB;QACzB,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,MAAM,EAAE,WAAW,CAAC,MAAM;YAC1B,IAAI,EAAE,WAAW,CAAC,IAAI;YACtB,QAAQ,EAAE,WAAW,CAAC,QAAQ;YAC9B,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,SAAS,EAAE,IAAI;SAChB,CAAC;KACH;AACH,CAAC;AAzCD,sDAyCC"}
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./checkCapabilityAccess"), exports);
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/capabilities/_internal/index.ts"],"names":[],"mappings":";;;AAAA,kEAAwC"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkCapability = void 0;
4
+ const index_1 = require("../index");
5
+ const types_1 = require("./types");
6
+ const getWorkspaceCapabilities_1 = require("./getWorkspaceCapabilities");
7
+ const _internal_1 = require("./_internal");
8
+ /**
9
+ * Check if a capability is enabled for a given entity and if the current user has necessary permissions to access it
10
+ * @param capability
11
+ * @param context
12
+ * @param entity
13
+ * @returns
14
+ */
15
+ function checkCapability(capability, context, entity) {
16
+ const entityType = index_1.getTypeFromEntity(entity);
17
+ // Find the rule for the given entity type and capability
18
+ const isValid = types_1.isCapability(capability);
19
+ if (isValid) {
20
+ const rule = getWorkspaceCapabilities_1.CapabilityPermissions.find((e) => e.entity === entityType && e.capability === capability);
21
+ if (rule) {
22
+ // check each capability access rule
23
+ return _internal_1.checkCapabilityAccess(rule, context, entity);
24
+ }
25
+ else {
26
+ // No rule found
27
+ return {
28
+ capability,
29
+ access: false,
30
+ code: "disabled",
31
+ response: "not-available",
32
+ message: `Capability "${capability}" is not defined for ${entityType}.`,
33
+ responses: [],
34
+ };
35
+ }
36
+ }
37
+ else {
38
+ // Invlaid Capability
39
+ return {
40
+ capability,
41
+ access: false,
42
+ code: "disabled",
43
+ response: "invalid-capability",
44
+ message: `Value "${capability}" is not a valid Hub Capability.`,
45
+ responses: [],
46
+ };
47
+ }
48
+ }
49
+ exports.checkCapability = checkCapability;
50
+ //# sourceMappingURL=checkCapability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkCapability.js","sourceRoot":"","sources":["../../../src/capabilities/checkCapability.ts"],"names":[],"mappings":";;;AAAA,oCAKkB;AAClB,mCAA8E;AAC9E,yEAAmE;AACnE,2CAAoD;AAEpD;;;;;;GAMG;AACH,SAAgB,eAAe,CAC7B,UAAsB,EACtB,OAAuB,EACvB,MAAiB;IAEjB,MAAM,UAAU,GAAkB,yBAAiB,CAAC,MAAM,CAAC,CAAC;IAC5D,yDAAyD;IACzD,MAAM,OAAO,GAAG,oBAAY,CAAC,UAAU,CAAC,CAAC;IACzC,IAAI,OAAO,EAAE;QACX,MAAM,IAAI,GAAG,gDAAqB,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,IAAI,CAAC,CAAC,UAAU,KAAK,UAAU,CAC9D,CAAC;QACF,IAAI,IAAI,EAAE;YACR,oCAAoC;YACpC,OAAO,iCAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;SACrD;aAAM;YACL,gBAAgB;YAChB,OAAO;gBACL,UAAU;gBACV,MAAM,EAAE,KAAK;gBACb,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,eAAe;gBACzB,OAAO,EAAE,eAAe,UAAU,wBAAwB,UAAU,GAAG;gBACvE,SAAS,EAAE,EAAE;aACe,CAAC;SAChC;KACF;SAAM;QACL,qBAAqB;QACrB,OAAO;YACL,UAAU;YACV,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,oBAAoB;YAC9B,OAAO,EAAE,UAAU,UAAU,kCAAkC;YAC/D,SAAS,EAAE,EAAE;SACe,CAAC;KAChC;AACH,CAAC;AArCD,0CAqCC"}
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getWorkspaceCapabilities = exports.CapabilityPermissions = void 0;
4
+ const getTypeFromEntity_1 = require("../core/getTypeFromEntity");
5
+ const ProjectBusinessRules_1 = require("../projects/_internal/ProjectBusinessRules");
6
+ const checkCapabilityAccess_1 = require("./_internal/checkCapabilityAccess");
7
+ const InitiativeBusinessRules_1 = require("../initiatives/_internal/InitiativeBusinessRules");
8
+ const SiteBusinessRules_1 = require("../sites/_internal/SiteBusinessRules");
9
+ /**
10
+ * List of all the Capability Permissions in the Hub System
11
+ * These are defined in the entity specific modules files
12
+ */
13
+ exports.CapabilityPermissions = [
14
+ ...ProjectBusinessRules_1.ProjectCapabilityPermissions,
15
+ ...InitiativeBusinessRules_1.InitiativeCapabilityPermissions,
16
+ ...SiteBusinessRules_1.SiteCapabilityPermissions,
17
+ ];
18
+ /**
19
+ * Return the capabilities that are granted to the current user for a given entity
20
+ * This is used by the Hub Components to determine which Workspace Navigation Links to show
21
+ * @param entity
22
+ * @param context
23
+ * @returns
24
+ */
25
+ function getWorkspaceCapabilities(entity, context) {
26
+ const entityType = getTypeFromEntity_1.getTypeFromEntity(entity);
27
+ // filter to the rules for the given entity type
28
+ const capabilityAccessRules = exports.CapabilityPermissions.filter((e) => e.entity === entityType);
29
+ // check each capability access rule
30
+ const responses = capabilityAccessRules.map((rule) => {
31
+ return checkCapabilityAccess_1.checkCapabilityAccess(rule, context, entity);
32
+ });
33
+ // map out those capabilities that are granted so consumers can easily work with that list
34
+ const granted = responses.filter((r) => r.access).map((r) => r.capability);
35
+ // return the full response with the details and the granted capabilities list
36
+ return {
37
+ granted,
38
+ details: responses,
39
+ };
40
+ }
41
+ exports.getWorkspaceCapabilities = getWorkspaceCapabilities;
42
+ //# sourceMappingURL=getWorkspaceCapabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getWorkspaceCapabilities.js","sourceRoot":"","sources":["../../../src/capabilities/getWorkspaceCapabilities.ts"],"names":[],"mappings":";;;AACA,iEAA8D;AAE9D,qFAA0F;AAC1F,6EAA0E;AAC1E,8FAAmG;AACnG,4EAAiF;AAEjF;;;GAGG;AACU,QAAA,qBAAqB,GAA4B;IAC5D,GAAG,mDAA4B;IAC/B,GAAG,yDAA+B;IAClC,GAAG,6CAAyB;CAC7B,CAAC;AAEF;;;;;;GAMG;AACH,SAAgB,wBAAwB,CACtC,MAAiB,EACjB,OAAuB;IAEvB,MAAM,UAAU,GAAkB,qCAAiB,CAAC,MAAM,CAAC,CAAC;IAC5D,gDAAgD;IAChD,MAAM,qBAAqB,GAAG,6BAAqB,CAAC,MAAM,CACxD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,UAAU,CAC/B,CAAC;IAEF,oCAAoC;IACpC,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;QACnD,OAAO,6CAAqB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IACH,0FAA0F;IAC1F,MAAM,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3E,8EAA8E;IAC9E,OAAO;QACL,OAAO;QACP,OAAO,EAAE,SAAS;KACnB,CAAC;AACJ,CAAC;AArBD,4DAqBC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./types"), exports);
5
+ tslib_1.__exportStar(require("./processEntityCapabilities"), exports);
6
+ tslib_1.__exportStar(require("./getWorkspaceCapabilities"), exports);
7
+ tslib_1.__exportStar(require("./checkCapability"), exports);
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/capabilities/index.ts"],"names":[],"mappings":";;;AAAA,kDAAwB;AACxB,sEAA4C;AAC5C,qEAA2C;AAC3C,4DAAkC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processEntityCapabilities = void 0;
4
+ /**
5
+ * Take an entity's capabilities and merge them with the default capabilities ensuring that only the capabilities defined in the business rules are allowed through.
6
+ * @param entityCapabilities
7
+ * @param defaultCapabilities
8
+ * @returns
9
+ */
10
+ function processEntityCapabilities(entityCapabilities, defaultCapabilities) {
11
+ // Extend the default capabilities with the entity capabilities
12
+ const capabilities = Object.assign(Object.assign({}, defaultCapabilities), entityCapabilities);
13
+ // Remove any capabilities that are not in the default capabilities hash.
14
+ // this prevents enabling capabilities that are not defined in hub business rules
15
+ const defaultKeys = Object.keys(defaultCapabilities);
16
+ const keysToRemove = Object.keys(capabilities).reduce((acc, key) => {
17
+ if (!defaultKeys.includes(key)) {
18
+ acc.push(key);
19
+ }
20
+ return acc;
21
+ }, []);
22
+ // remove any keys that are not in the default capabilities hash
23
+ keysToRemove.forEach((key) => {
24
+ delete capabilities[key];
25
+ });
26
+ return capabilities;
27
+ }
28
+ exports.processEntityCapabilities = processEntityCapabilities;
29
+ //# sourceMappingURL=processEntityCapabilities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processEntityCapabilities.js","sourceRoot":"","sources":["../../../src/capabilities/processEntityCapabilities.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AACH,SAAgB,yBAAyB,CACvC,kBAAsC,EACtC,mBAAuC;IAEvC,+DAA+D;IAC/D,MAAM,YAAY,mCAAQ,mBAAmB,GAAK,kBAAkB,CAAE,CAAC;IAEvE,yEAAyE;IACzE,iFAAiF;IACjF,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACrD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACjE,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC9B,GAAG,CAAC,IAAI,CAAC,GAAiB,CAAC,CAAC;SAC7B;QACD,OAAO,GAAG,CAAC;IACb,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,gEAAgE;IAChE,YAAY,CAAC,OAAO,CAAC,CAAC,GAAe,EAAE,EAAE;QACvC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IACH,OAAO,YAAY,CAAC;AACtB,CAAC;AArBD,8DAqBC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isCapability = void 0;
4
+ /**
5
+ * Hub System Capabilities
6
+ */
7
+ const validCapabilities = [
8
+ "collaboration",
9
+ "details",
10
+ "discussions",
11
+ "events",
12
+ "followers",
13
+ "overview",
14
+ "settings",
15
+ "teams",
16
+ ];
17
+ /**
18
+ * Validate a capability. This is used because the libary can be used outside of typescript and we want to be able to return a message is the string passed in is not a valid capability
19
+ * @param Capability
20
+ * @returns
21
+ */
22
+ function isCapability(maybeCapability) {
23
+ return validCapabilities.includes(maybeCapability);
24
+ }
25
+ exports.isCapability = isCapability;
26
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/capabilities/types.ts"],"names":[],"mappings":";;;AAQA;;GAEG;AACH,MAAM,iBAAiB,GAAG;IACxB,eAAe;IACf,SAAS;IACT,aAAa;IACb,QAAQ;IACR,WAAW;IACX,UAAU;IACV,UAAU;IACV,OAAO;CACC,CAAC;AAOX;;;;GAIG;AACH,SAAgB,YAAY,CAAC,eAAuB;IAClD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,eAA6B,CAAC,CAAC;AACnE,CAAC;AAFD,oCAEC"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HubItemEntity = void 0;
4
4
  const arcgis_rest_portal_1 = require("@esri/arcgis-rest-portal");
5
+ const capabilities_1 = require("../capabilities");
5
6
  const HubError_1 = require("../HubError");
6
7
  const items_1 = require("../items");
7
8
  const setItemThumbnail_1 = require("../items/setItemThumbnail");
@@ -53,6 +54,13 @@ class HubItemEntity {
53
54
  removePermissionPolicy(permission, id) {
54
55
  this.entity.permissions = permissions_1.removePermissionPolicy(this.entity.permissions, permission, id);
55
56
  }
57
+ /**
58
+ * Check if the current user can access a specific capability
59
+ * @param capability
60
+ */
61
+ checkCapability(capability) {
62
+ return capabilities_1.checkCapability(capability, this.context, this.entity);
63
+ }
56
64
  // Although we don't expose all the properties, we do expose a few for convenience
57
65
  /**
58
66
  * Return the entity id
@@ -1 +1 @@
1
- {"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubItemEntity.js","sourceRoot":"","sources":["../../../src/core/HubItemEntity.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IAccessResponse.js","sourceRoot":"","sources":["../../../../src/core/types/IAccessResponse.ts"],"names":[],"mappings":""}
@@ -13,6 +13,7 @@ tslib_1.__exportStar(require("./auth"), exports);
13
13
  tslib_1.__exportStar(require("./categories"), exports);
14
14
  tslib_1.__exportStar(require("./content"), exports);
15
15
  tslib_1.__exportStar(require("./core"), exports);
16
+ tslib_1.__exportStar(require("./capabilities"), exports);
16
17
  tslib_1.__exportStar(require("./downloads"), exports);
17
18
  tslib_1.__exportStar(require("./extent"), exports);
18
19
  tslib_1.__exportStar(require("./groups"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;gBACgB;AAChB,0BAA0B;;;;AAE1B,mDAAyB;AACzB,gDAAsB;AACtB,0DAAgC;AAChC,iEAAuC;AACvC,iDAAuB;AACvB,uDAA6B;AAC7B,oDAA0B;AAC1B,iDAAuB;AACvB,sDAA4B;AAC5B,mDAAyB;AACzB,mDAAyB;AACzB,iDAAuB;AACvB,wDAA8B;AAC9B,kDAAwB;AACxB,mDAAyB;AACzB,oDAA0B;AAC1B,gDAAsB;AACtB,kDAAwB;AACxB,wDAA8B;AAC9B,qDAA2B;AAC3B,oDAA0B;AAC1B,sDAA4B;AAC5B,mDAAyB;AACzB,kDAAwB;AACxB,oDAA0B;AAC1B,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AAExB,qDAA8C;AAKrC,yBALF,wBAAc,CAKE;AAJvB,qDAA8C;AAIrB,yBAJlB,wBAAc,CAIkB;AAHvC,yCAAkC;AAGO,mBAHlC,kBAAQ,CAGkC;AACjD,6BAAkC;AAAzB,4FAAA,IAAI,OAAA;AAAE,4FAAA,IAAI,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;gBACgB;AAChB,0BAA0B;;;;AAE1B,mDAAyB;AACzB,gDAAsB;AACtB,0DAAgC;AAChC,iEAAuC;AACvC,iDAAuB;AACvB,uDAA6B;AAC7B,oDAA0B;AAC1B,iDAAuB;AACvB,yDAA+B;AAC/B,sDAA4B;AAC5B,mDAAyB;AACzB,mDAAyB;AACzB,iDAAuB;AACvB,wDAA8B;AAC9B,kDAAwB;AACxB,mDAAyB;AACzB,oDAA0B;AAC1B,gDAAsB;AACtB,kDAAwB;AACxB,wDAA8B;AAC9B,qDAA2B;AAC3B,oDAA0B;AAC1B,sDAA4B;AAC5B,mDAAyB;AACzB,kDAAwB;AACxB,oDAA0B;AAC1B,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AACxB,iDAAuB;AACvB,kDAAwB;AAExB,qDAA8C;AAKrC,yBALF,wBAAc,CAKE;AAJvB,qDAA8C;AAIrB,yBAJlB,wBAAc,CAIkB;AAHvC,yCAAkC;AAGO,mBAHlC,kBAAQ,CAGkC;AACjD,6BAAkC;AAAzB,4FAAA,IAAI,OAAA;AAAE,4FAAA,IAAI,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"HubInitiative.js","sourceRoot":"","sources":["../../../src/initiatives/HubInitiative.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubInitiative.js","sourceRoot":"","sources":["../../../src/initiatives/HubInitiative.ts"],"names":[],"mappings":"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"}