@esri/hub-common 13.37.2 → 13.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/dist/esm/ArcGISContext.js +31 -0
  2. package/dist/esm/ArcGISContext.js.map +1 -1
  3. package/dist/esm/ArcGISContextManager.js +44 -0
  4. package/dist/esm/ArcGISContextManager.js.map +1 -1
  5. package/dist/esm/capabilities/_internal/checkCapabilityAccess.js +2 -0
  6. package/dist/esm/capabilities/_internal/checkCapabilityAccess.js.map +1 -1
  7. package/dist/esm/capabilities/checkCapability.js +2 -0
  8. package/dist/esm/capabilities/checkCapability.js.map +1 -1
  9. package/dist/esm/capabilities/getWorkspaceCapabilities.js +3 -1
  10. package/dist/esm/capabilities/getWorkspaceCapabilities.js.map +1 -1
  11. package/dist/esm/capabilities/processEntityCapabilities.js +2 -0
  12. package/dist/esm/capabilities/processEntityCapabilities.js.map +1 -1
  13. package/dist/esm/content/_internal/ContentBusinessRules.js +6 -6
  14. package/dist/esm/content/_internal/ContentBusinessRules.js.map +1 -1
  15. package/dist/esm/content/_internal/getPropertyMap.js +1 -0
  16. package/dist/esm/content/_internal/getPropertyMap.js.map +1 -1
  17. package/dist/esm/core/EntityEditor.js +4 -0
  18. package/dist/esm/core/EntityEditor.js.map +1 -1
  19. package/dist/esm/core/HubItemEntity.js +3 -0
  20. package/dist/esm/core/HubItemEntity.js.map +1 -1
  21. package/dist/esm/core/_internal/getBasePropertyMap.js +1 -0
  22. package/dist/esm/core/_internal/getBasePropertyMap.js.map +1 -1
  23. package/dist/esm/core/schemas/getEntityEditorSchemas.js +7 -0
  24. package/dist/esm/core/schemas/getEntityEditorSchemas.js.map +1 -1
  25. package/dist/esm/core/schemas/internal/getEditorConfigOptions.js +6 -0
  26. package/dist/esm/core/schemas/internal/getEditorConfigOptions.js.map +1 -1
  27. package/dist/esm/core/schemas/internal/getEntityEditorSchemas.js +7 -0
  28. package/dist/esm/core/schemas/internal/getEntityEditorSchemas.js.map +1 -1
  29. package/dist/esm/core/schemas/types.js +2 -0
  30. package/dist/esm/core/schemas/types.js.map +1 -1
  31. package/dist/esm/core/types/ISystemStatus.js +20 -0
  32. package/dist/esm/core/types/ISystemStatus.js.map +1 -1
  33. package/dist/esm/core/types/index.js +1 -0
  34. package/dist/esm/core/types/index.js.map +1 -1
  35. package/dist/esm/discussions/_internal/DiscussionBusinessRules.js +11 -4
  36. package/dist/esm/discussions/_internal/DiscussionBusinessRules.js.map +1 -1
  37. package/dist/esm/groups/HubGroup.js +78 -0
  38. package/dist/esm/groups/HubGroup.js.map +1 -1
  39. package/dist/esm/groups/HubGroups.js +2 -36
  40. package/dist/esm/groups/HubGroups.js.map +1 -1
  41. package/dist/esm/groups/_internal/GroupBusinessRules.js +12 -6
  42. package/dist/esm/groups/_internal/GroupBusinessRules.js.map +1 -1
  43. package/dist/esm/groups/_internal/GroupSchema.js +17 -0
  44. package/dist/esm/groups/_internal/GroupSchema.js.map +1 -0
  45. package/dist/esm/groups/_internal/GroupUiSchemaEdit.js +58 -0
  46. package/dist/esm/groups/_internal/GroupUiSchemaEdit.js.map +1 -0
  47. package/dist/esm/groups/_internal/convertGroupToHubGroup.js +14 -0
  48. package/dist/esm/groups/_internal/convertGroupToHubGroup.js.map +1 -0
  49. package/dist/esm/groups/_internal/convertHubGroupToGroup.js +26 -0
  50. package/dist/esm/groups/_internal/convertHubGroupToGroup.js.map +1 -0
  51. package/dist/esm/groups/deleteGroupThumbnail.js +14 -0
  52. package/dist/esm/groups/deleteGroupThumbnail.js.map +1 -0
  53. package/dist/esm/groups/setGroupThumbnail.js +32 -0
  54. package/dist/esm/groups/setGroupThumbnail.js.map +1 -0
  55. package/dist/esm/initiatives/_internal/InitiativeBusinessRules.js +36 -8
  56. package/dist/esm/initiatives/_internal/InitiativeBusinessRules.js.map +1 -1
  57. package/dist/esm/initiatives/_internal/computeProps.js +8 -2
  58. package/dist/esm/initiatives/_internal/computeProps.js.map +1 -1
  59. package/dist/esm/initiatives/defaults.js +2 -0
  60. package/dist/esm/initiatives/defaults.js.map +1 -1
  61. package/dist/esm/pages/_internal/PageBusinessRules.js +17 -11
  62. package/dist/esm/pages/_internal/PageBusinessRules.js.map +1 -1
  63. package/dist/esm/pages/_internal/computeProps.js +9 -2
  64. package/dist/esm/pages/_internal/computeProps.js.map +1 -1
  65. package/dist/esm/permissions/_internal/checkAlphaGating.js +3 -1
  66. package/dist/esm/permissions/_internal/checkAlphaGating.js.map +1 -1
  67. package/dist/esm/permissions/_internal/checkAvailability.js +46 -0
  68. package/dist/esm/permissions/_internal/checkAvailability.js.map +1 -0
  69. package/dist/esm/permissions/_internal/checkEntityFeature.js +26 -0
  70. package/dist/esm/permissions/_internal/checkEntityFeature.js.map +1 -0
  71. package/dist/esm/permissions/_internal/checkEnvironment.js +28 -0
  72. package/dist/esm/permissions/_internal/checkEnvironment.js.map +1 -0
  73. package/dist/esm/permissions/_internal/checkParents.js +23 -0
  74. package/dist/esm/permissions/_internal/checkParents.js.map +1 -0
  75. package/dist/esm/permissions/_internal/checkServiceStatus.js +24 -0
  76. package/dist/esm/permissions/_internal/checkServiceStatus.js.map +1 -0
  77. package/dist/esm/permissions/_internal/getPolicyResponseCode.js +8 -0
  78. package/dist/esm/permissions/_internal/getPolicyResponseCode.js.map +1 -1
  79. package/dist/esm/permissions/_internal/processEntityFeatures.js +26 -0
  80. package/dist/esm/permissions/_internal/processEntityFeatures.js.map +1 -0
  81. package/dist/esm/permissions/checkPermission.js +10 -0
  82. package/dist/esm/permissions/checkPermission.js.map +1 -1
  83. package/dist/esm/projects/_internal/ProjectBusinessRules.js +37 -11
  84. package/dist/esm/projects/_internal/ProjectBusinessRules.js.map +1 -1
  85. package/dist/esm/projects/_internal/computeProps.js +8 -2
  86. package/dist/esm/projects/_internal/computeProps.js.map +1 -1
  87. package/dist/esm/projects/defaults.js +2 -0
  88. package/dist/esm/projects/defaults.js.map +1 -1
  89. package/dist/esm/sites/_internal/SiteBusinessRules.js +37 -8
  90. package/dist/esm/sites/_internal/SiteBusinessRules.js.map +1 -1
  91. package/dist/esm/sites/_internal/computeProps.js +8 -2
  92. package/dist/esm/sites/_internal/computeProps.js.map +1 -1
  93. package/dist/esm/sites/defaults.js +2 -0
  94. package/dist/esm/sites/defaults.js.map +1 -1
  95. package/dist/esm/utils/getEnvironmentFromPortalUrl.js +20 -0
  96. package/dist/esm/utils/getEnvironmentFromPortalUrl.js.map +1 -0
  97. package/dist/esm/utils/index.js +1 -0
  98. package/dist/esm/utils/index.js.map +1 -1
  99. package/dist/node/ArcGISContext.js +31 -0
  100. package/dist/node/ArcGISContext.js.map +1 -1
  101. package/dist/node/ArcGISContextManager.js +44 -0
  102. package/dist/node/ArcGISContextManager.js.map +1 -1
  103. package/dist/node/capabilities/_internal/checkCapabilityAccess.js +2 -0
  104. package/dist/node/capabilities/_internal/checkCapabilityAccess.js.map +1 -1
  105. package/dist/node/capabilities/checkCapability.js +2 -0
  106. package/dist/node/capabilities/checkCapability.js.map +1 -1
  107. package/dist/node/capabilities/getWorkspaceCapabilities.js +3 -1
  108. package/dist/node/capabilities/getWorkspaceCapabilities.js.map +1 -1
  109. package/dist/node/capabilities/processEntityCapabilities.js +2 -0
  110. package/dist/node/capabilities/processEntityCapabilities.js.map +1 -1
  111. package/dist/node/content/_internal/ContentBusinessRules.js +6 -6
  112. package/dist/node/content/_internal/ContentBusinessRules.js.map +1 -1
  113. package/dist/node/content/_internal/getPropertyMap.js +1 -0
  114. package/dist/node/content/_internal/getPropertyMap.js.map +1 -1
  115. package/dist/node/core/EntityEditor.js +4 -0
  116. package/dist/node/core/EntityEditor.js.map +1 -1
  117. package/dist/node/core/HubItemEntity.js +3 -0
  118. package/dist/node/core/HubItemEntity.js.map +1 -1
  119. package/dist/node/core/_internal/getBasePropertyMap.js +1 -0
  120. package/dist/node/core/_internal/getBasePropertyMap.js.map +1 -1
  121. package/dist/node/core/schemas/getEntityEditorSchemas.js +7 -0
  122. package/dist/node/core/schemas/getEntityEditorSchemas.js.map +1 -1
  123. package/dist/node/core/schemas/internal/getEditorConfigOptions.js +6 -0
  124. package/dist/node/core/schemas/internal/getEditorConfigOptions.js.map +1 -1
  125. package/dist/node/core/schemas/internal/getEntityEditorSchemas.js +7 -0
  126. package/dist/node/core/schemas/internal/getEntityEditorSchemas.js.map +1 -1
  127. package/dist/node/core/schemas/types.js +2 -0
  128. package/dist/node/core/schemas/types.js.map +1 -1
  129. package/dist/node/core/types/ISystemStatus.js +22 -1
  130. package/dist/node/core/types/ISystemStatus.js.map +1 -1
  131. package/dist/node/core/types/index.js +1 -0
  132. package/dist/node/core/types/index.js.map +1 -1
  133. package/dist/node/discussions/_internal/DiscussionBusinessRules.js +11 -4
  134. package/dist/node/discussions/_internal/DiscussionBusinessRules.js.map +1 -1
  135. package/dist/node/groups/HubGroup.js +78 -0
  136. package/dist/node/groups/HubGroup.js.map +1 -1
  137. package/dist/node/groups/HubGroups.js +6 -40
  138. package/dist/node/groups/HubGroups.js.map +1 -1
  139. package/dist/node/groups/_internal/GroupBusinessRules.js +12 -6
  140. package/dist/node/groups/_internal/GroupBusinessRules.js.map +1 -1
  141. package/dist/node/groups/_internal/GroupSchema.js +20 -0
  142. package/dist/node/groups/_internal/GroupSchema.js.map +1 -0
  143. package/dist/node/groups/_internal/GroupUiSchemaEdit.js +61 -0
  144. package/dist/node/groups/_internal/GroupUiSchemaEdit.js.map +1 -0
  145. package/dist/node/groups/_internal/convertGroupToHubGroup.js +18 -0
  146. package/dist/node/groups/_internal/convertGroupToHubGroup.js.map +1 -0
  147. package/dist/node/groups/_internal/convertHubGroupToGroup.js +30 -0
  148. package/dist/node/groups/_internal/convertHubGroupToGroup.js.map +1 -0
  149. package/dist/node/groups/deleteGroupThumbnail.js +18 -0
  150. package/dist/node/groups/deleteGroupThumbnail.js.map +1 -0
  151. package/dist/node/groups/setGroupThumbnail.js +36 -0
  152. package/dist/node/groups/setGroupThumbnail.js.map +1 -0
  153. package/dist/node/initiatives/_internal/InitiativeBusinessRules.js +37 -9
  154. package/dist/node/initiatives/_internal/InitiativeBusinessRules.js.map +1 -1
  155. package/dist/node/initiatives/_internal/computeProps.js +7 -1
  156. package/dist/node/initiatives/_internal/computeProps.js.map +1 -1
  157. package/dist/node/initiatives/defaults.js +2 -0
  158. package/dist/node/initiatives/defaults.js.map +1 -1
  159. package/dist/node/pages/_internal/PageBusinessRules.js +18 -12
  160. package/dist/node/pages/_internal/PageBusinessRules.js.map +1 -1
  161. package/dist/node/pages/_internal/computeProps.js +8 -1
  162. package/dist/node/pages/_internal/computeProps.js.map +1 -1
  163. package/dist/node/permissions/_internal/checkAlphaGating.js +3 -1
  164. package/dist/node/permissions/_internal/checkAlphaGating.js.map +1 -1
  165. package/dist/node/permissions/_internal/checkAvailability.js +50 -0
  166. package/dist/node/permissions/_internal/checkAvailability.js.map +1 -0
  167. package/dist/node/permissions/_internal/checkEntityFeature.js +30 -0
  168. package/dist/node/permissions/_internal/checkEntityFeature.js.map +1 -0
  169. package/dist/node/permissions/_internal/checkEnvironment.js +32 -0
  170. package/dist/node/permissions/_internal/checkEnvironment.js.map +1 -0
  171. package/dist/node/permissions/_internal/checkParents.js +27 -0
  172. package/dist/node/permissions/_internal/checkParents.js.map +1 -0
  173. package/dist/node/permissions/_internal/checkServiceStatus.js +28 -0
  174. package/dist/node/permissions/_internal/checkServiceStatus.js.map +1 -0
  175. package/dist/node/permissions/_internal/getPolicyResponseCode.js +8 -0
  176. package/dist/node/permissions/_internal/getPolicyResponseCode.js.map +1 -1
  177. package/dist/node/permissions/_internal/processEntityFeatures.js +30 -0
  178. package/dist/node/permissions/_internal/processEntityFeatures.js.map +1 -0
  179. package/dist/node/permissions/checkPermission.js +10 -0
  180. package/dist/node/permissions/checkPermission.js.map +1 -1
  181. package/dist/node/projects/_internal/ProjectBusinessRules.js +38 -12
  182. package/dist/node/projects/_internal/ProjectBusinessRules.js.map +1 -1
  183. package/dist/node/projects/_internal/computeProps.js +7 -1
  184. package/dist/node/projects/_internal/computeProps.js.map +1 -1
  185. package/dist/node/projects/defaults.js +2 -0
  186. package/dist/node/projects/defaults.js.map +1 -1
  187. package/dist/node/sites/_internal/SiteBusinessRules.js +38 -9
  188. package/dist/node/sites/_internal/SiteBusinessRules.js.map +1 -1
  189. package/dist/node/sites/_internal/computeProps.js +7 -1
  190. package/dist/node/sites/_internal/computeProps.js.map +1 -1
  191. package/dist/node/sites/defaults.js +2 -0
  192. package/dist/node/sites/defaults.js.map +1 -1
  193. package/dist/node/utils/getEnvironmentFromPortalUrl.js +24 -0
  194. package/dist/node/utils/getEnvironmentFromPortalUrl.js.map +1 -0
  195. package/dist/node/utils/index.js +1 -0
  196. package/dist/node/utils/index.js.map +1 -1
  197. package/dist/types/ArcGISContext.d.ts +37 -4
  198. package/dist/types/ArcGISContextManager.d.ts +8 -2
  199. package/dist/types/capabilities/getWorkspaceCapabilities.d.ts +1 -1
  200. package/dist/types/content/_internal/ContentBusinessRules.d.ts +3 -0
  201. package/dist/types/content/_internal/internalContentUtils.d.ts +2 -1
  202. package/dist/types/core/HubItemEntity.d.ts +1 -0
  203. package/dist/types/core/behaviors/IWithPermissionBehavior.d.ts +3 -0
  204. package/dist/types/core/schemas/types.d.ts +1 -1
  205. package/dist/types/core/traits/IWithPermissions.d.ts +9 -1
  206. package/dist/types/core/types/IHubGroup.d.ts +16 -2
  207. package/dist/types/core/types/IHubItemEntity.d.ts +4 -0
  208. package/dist/types/core/types/ISystemStatus.d.ts +17 -0
  209. package/dist/types/core/types/index.d.ts +1 -0
  210. package/dist/types/discussions/_internal/DiscussionBusinessRules.d.ts +3 -1
  211. package/dist/types/groups/HubGroup.d.ts +20 -2
  212. package/dist/types/groups/_internal/GroupBusinessRules.d.ts +3 -1
  213. package/dist/types/groups/_internal/GroupSchema.d.ts +7 -0
  214. package/dist/types/groups/_internal/GroupUiSchemaEdit.d.ts +7 -0
  215. package/dist/types/groups/_internal/convertGroupToHubGroup.d.ts +9 -0
  216. package/dist/types/groups/_internal/convertHubGroupToGroup.d.ts +7 -0
  217. package/dist/types/groups/deleteGroupThumbnail.d.ts +9 -0
  218. package/dist/types/groups/setGroupThumbnail.d.ts +9 -0
  219. package/dist/types/initiatives/_internal/InitiativeBusinessRules.d.ts +6 -2
  220. package/dist/types/pages/_internal/PageBusinessRules.d.ts +8 -2
  221. package/dist/types/permissions/_internal/checkAlphaGating.d.ts +1 -1
  222. package/dist/types/permissions/_internal/checkAvailability.d.ts +13 -0
  223. package/dist/types/permissions/_internal/checkEntityFeature.d.ts +4 -0
  224. package/dist/types/permissions/_internal/checkEnvironment.d.ts +13 -0
  225. package/dist/types/permissions/_internal/checkParents.d.ts +12 -0
  226. package/dist/types/permissions/_internal/checkServiceStatus.d.ts +4 -0
  227. package/dist/types/permissions/_internal/processEntityFeatures.d.ts +9 -0
  228. package/dist/types/permissions/types/IPermissionPolicy.d.ts +55 -4
  229. package/dist/types/permissions/types/PolicyResponse.d.ts +1 -1
  230. package/dist/types/projects/_internal/ProjectBusinessRules.d.ts +8 -2
  231. package/dist/types/sites/_internal/SiteBusinessRules.d.ts +9 -2
  232. package/dist/types/utils/getEnvironmentFromPortalUrl.d.ts +2 -0
  233. package/dist/types/utils/index.d.ts +1 -0
  234. package/package.json +1 -1
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PageVersionIncludeList = exports.PagePermissionPolicies = exports.PagePermissions = exports.PageCapabilityPermissions = exports.PageDefaultCapabilities = void 0;
3
+ exports.PageVersionIncludeList = exports.PagePermissionPolicies = exports.PagePermissions = exports.PageDefaultFeatures = exports.PageCapabilityPermissions = exports.PageDefaultCapabilities = void 0;
4
4
  /**
5
5
  * Default capabilities for a Page. If not listed here, the capability will not be available
6
6
  * This hash is combined with the capabilities hash stored in the item data. Regardless of what
7
7
  * properties are defined in the item data, only the capabilities defined here will be available
8
8
  * @private
9
+ * TODO: Remove capabilities
9
10
  */
10
11
  exports.PageDefaultCapabilities = {
11
12
  overview: true,
@@ -17,6 +18,7 @@ exports.PageDefaultCapabilities = {
17
18
  * List of all the Page Capability Permissions
18
19
  * These are considered Hub Business Rules and are not intended
19
20
  * to be modified by consumers
21
+ * TODO: Remove capabilities
20
22
  * @private
21
23
  */
22
24
  exports.PageCapabilityPermissions = [
@@ -41,12 +43,19 @@ exports.PageCapabilityPermissions = [
41
43
  permissions: ["hub:page:edit"],
42
44
  },
43
45
  ];
46
+ /**
47
+ * Default features for a Project. These are the features that can be enabled / disabled by the entity owner
48
+ */
49
+ exports.PageDefaultFeatures = {
50
+ // Intentally empty as this prevents overriding and adding features
51
+ };
44
52
  /**
45
53
  * Page Permission Policies
46
54
  * These define the requirements any user must meet to perform related actions
47
55
  * @private
48
56
  */
49
57
  exports.PagePermissions = [
58
+ "hub:page",
50
59
  "hub:page:create",
51
60
  "hub:page:delete",
52
61
  "hub:page:edit",
@@ -57,34 +66,31 @@ exports.PagePermissions = [
57
66
  * @private
58
67
  */
59
68
  exports.PagePermissionPolicies = [
69
+ {
70
+ permission: "hub:page",
71
+ services: ["portal"],
72
+ },
60
73
  {
61
74
  permission: "hub:page:create",
62
- subsystems: ["pages", "sites"],
75
+ dependencies: ["hub:page"],
63
76
  authenticated: true,
64
77
  privileges: ["portal:user:createItem"],
65
- licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
66
78
  },
67
79
  {
68
80
  permission: "hub:page:view",
69
- subsystems: ["pages", "sites"],
70
- authenticated: false,
71
- licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
81
+ dependencies: ["hub:page"],
72
82
  },
73
83
  {
74
84
  permission: "hub:page:edit",
85
+ dependencies: ["hub:page"],
75
86
  authenticated: true,
76
- subsystems: ["pages", "sites"],
77
87
  entityEdit: true,
78
- // privileges: ["portal:admin:updateItems"], // maybe this too?
79
- licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
80
88
  },
81
89
  {
82
90
  permission: "hub:page:delete",
91
+ dependencies: ["hub:page"],
83
92
  authenticated: true,
84
- subsystems: ["pages", "sites"],
85
93
  entityOwner: true,
86
- // privileges: ["portal:admin:deleteItems"], // maybe this too?
87
- licenses: ["hub-basic", "hub-premium", "enterprise-sites"],
88
94
  },
89
95
  ];
90
96
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"PageBusinessRules.js","sourceRoot":"","sources":["../../../../src/pages/_internal/PageBusinessRules.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AACU,QAAA,uBAAuB,GAAuB;IACzD,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,IAAI;CAChB,CAAC;AAEF;;;;;GAKG;AACU,QAAA,yBAAyB,GAA4B;IAChE;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;IACD;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;IACD;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;IACD;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,WAAW;QACvB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;CACF,CAAC;AAEF;;;;GAIG;AACU,QAAA,eAAe,GAAG;IAC7B,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,eAAe;CACP,CAAC;AAEX;;;GAGG;AACU,QAAA,sBAAsB,GAAwB;IACzD;QACE,UAAU,EAAE,iBAAiB;QAC7B,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC9B,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,EAAE,OAAO,CAAC;QAC9B,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC9B,UAAU,EAAE,IAAI;QAChB,+DAA+D;QAC/D,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;IACD;QACE,UAAU,EAAE,iBAAiB;QAC7B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC;QAC9B,WAAW,EAAE,IAAI;QACjB,+DAA+D;QAC/D,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,EAAE,kBAAkB,CAAC;KAC3D;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,sBAAsB,GAAG;IACpC,oBAAoB;IACpB,yBAAyB;CAC1B,CAAC"}
1
+ {"version":3,"file":"PageBusinessRules.js","sourceRoot":"","sources":["../../../../src/pages/_internal/PageBusinessRules.ts"],"names":[],"mappings":";;;AAGA;;;;;;GAMG;AACU,QAAA,uBAAuB,GAAuB;IACzD,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,SAAS,EAAE,IAAI;CAChB,CAAC;AAEF;;;;;;GAMG;AACU,QAAA,yBAAyB,GAA4B;IAChE;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;IACD;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;IACD;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;IACD;QACE,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,WAAW;QACvB,WAAW,EAAE,CAAC,eAAe,CAAC;KAC/B;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,mBAAmB,GAAoB;AAClD,mEAAmE;CACpE,CAAC;AAEF;;;;GAIG;AACU,QAAA,eAAe,GAAG;IAC7B,UAAU;IACV,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,eAAe;CACP,CAAC;AAEX;;;GAGG;AACU,QAAA,sBAAsB,GAAwB;IACzD;QACE,UAAU,EAAE,UAAU;QACtB,QAAQ,EAAE,CAAC,QAAQ,CAAC;KACrB;IACD;QACE,UAAU,EAAE,iBAAiB;QAC7B,YAAY,EAAE,CAAC,UAAU,CAAC;QAC1B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,wBAAwB,CAAC;KACvC;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,YAAY,EAAE,CAAC,UAAU,CAAC;KAC3B;IACD;QACE,UAAU,EAAE,eAAe;QAC3B,YAAY,EAAE,CAAC,UAAU,CAAC;QAC1B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;KACjB;IACD;QACE,UAAU,EAAE,iBAAiB;QAC7B,YAAY,EAAE,CAAC,UAAU,CAAC;QAC1B,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;KAClB;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,sBAAsB,GAAG;IACpC,oBAAoB;IACpB,yBAAyB;CAC1B,CAAC"}
@@ -4,6 +4,7 @@ exports.computeProps = void 0;
4
4
  const resources_1 = require("../../resources");
5
5
  const PageBusinessRules_1 = require("./PageBusinessRules");
6
6
  const capabilities_1 = require("../../capabilities");
7
+ const processEntityFeatures_1 = require("../../permissions/_internal/processEntityFeatures");
7
8
  /**
8
9
  * Given a model and a page, set various computed properties that can't be directly mapped
9
10
  * @private
@@ -13,7 +14,7 @@ const capabilities_1 = require("../../capabilities");
13
14
  * @returns
14
15
  */
15
16
  function computeProps(model, page, requestOptions) {
16
- var _a;
17
+ var _a, _b;
17
18
  let token;
18
19
  if (requestOptions.authentication) {
19
20
  const session = requestOptions.authentication;
@@ -27,7 +28,13 @@ function computeProps(model, page, requestOptions) {
27
28
  page.updatedDate = new Date(model.item.modified);
28
29
  page.updatedDateSource = "item.modified";
29
30
  // // Handle capabilities
31
+ // TODO: Remove capabilities
30
32
  page.capabilities = capabilities_1.processEntityCapabilities(((_a = model.data.settings) === null || _a === void 0 ? void 0 : _a.capabilities) || {}, PageBusinessRules_1.PageDefaultCapabilities);
33
+ /**
34
+ * Features that can be disabled by the entity owner
35
+ * NOTE: Pages do not have any features that can be disabled
36
+ */
37
+ page.features = processEntityFeatures_1.processEntityFeatures(((_b = model.data.settings) === null || _b === void 0 ? void 0 : _b.features) || {}, PageBusinessRules_1.PageDefaultFeatures);
31
38
  // cast b/c this takes a partial but returns a full page
32
39
  return page;
33
40
  }
@@ -1 +1 @@
1
- {"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/pages/_internal/computeProps.ts"],"names":[],"mappings":";;;AAEA,+CAAsD;AAGtD,2DAA8D;AAC9D,qDAA+D;AAE/D;;;;;;;GAOG;AACH,SAAgB,YAAY,CAC1B,KAAa,EACb,IAAuB,EACvB,cAA+B;;IAE/B,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IACD,gBAAgB;IAChB,IAAI,CAAC,YAAY,GAAG,+BAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAE3E,eAAe;IACf,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC;IACxC,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC;IAEzC,yBAAyB;IACzB,IAAI,CAAC,YAAY,GAAG,wCAAyB,CAC3C,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,YAAY,KAAI,EAAE,EACvC,2CAAuB,CACxB,CAAC;IAEF,wDAAwD;IACxD,OAAO,IAAgB,CAAC;AAC1B,CAAC;AA3BD,oCA2BC"}
1
+ {"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/pages/_internal/computeProps.ts"],"names":[],"mappings":";;;AAEA,+CAAsD;AAGtD,2DAG6B;AAC7B,qDAA+D;AAC/D,6FAA0F;AAE1F;;;;;;;GAOG;AACH,SAAgB,YAAY,CAC1B,KAAa,EACb,IAAuB,EACvB,cAA+B;;IAE/B,IAAI,KAAa,CAAC;IAClB,IAAI,cAAc,CAAC,cAAc,EAAE;QACjC,MAAM,OAAO,GAAgB,cAAc,CAAC,cAA6B,CAAC;QAC1E,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;KACvB;IACD,gBAAgB;IAChB,IAAI,CAAC,YAAY,GAAG,+BAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAE3E,eAAe;IACf,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAChD,IAAI,CAAC,iBAAiB,GAAG,cAAc,CAAC;IACxC,IAAI,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,iBAAiB,GAAG,eAAe,CAAC;IAEzC,yBAAyB;IACzB,4BAA4B;IAC5B,IAAI,CAAC,YAAY,GAAG,wCAAyB,CAC3C,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,YAAY,KAAI,EAAE,EACvC,2CAAuB,CACxB,CAAC;IAEF;;;OAGG;IACH,IAAI,CAAC,QAAQ,GAAG,6CAAqB,CACnC,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,QAAQ,KAAI,EAAE,EACnC,uCAAmB,CACpB,CAAC;IAEF,wDAAwD;IACxD,OAAO,IAAgB,CAAC;AAC1B,CAAC;AArCD,oCAqCC"}
@@ -9,10 +9,12 @@ const getPolicyResponseCode_1 = require("./getPolicyResponseCode");
9
9
  * @param entity
10
10
  * @returns
11
11
  */
12
- function checkAlphaGating(policy, context, entity) {
12
+ function checkAlphaGating(policy, context, _entity) {
13
13
  const checks = [];
14
14
  // Only return a check if the policy is defined
15
15
  if (policy.alpha) {
16
+ /* tslint:disable-next-line: no-console */
17
+ console.log("DEPRECATED: alpha policy is deprecated, please use gatedAvailability: alpha instead");
16
18
  const result = context.isAlphaOrg
17
19
  ? "granted"
18
20
  : "not-alpha-org";
@@ -1 +1 @@
1
- {"version":3,"file":"checkAlphaGating.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkAlphaGating.ts"],"names":[],"mappings":";;;AAEA,mEAAgE;AAEhE;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAC9B,MAAyB,EACzB,OAAuB,EACvB,MAA4B;IAE5B,MAAM,MAAM,GAAG,EAAoB,CAAC;IACpC,+CAA+C;IAC/C,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,MAAM,MAAM,GAAmB,OAAO,CAAC,UAAU;YAC/C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,eAAe,CAAC;QAEpB,mBAAmB;QACnB,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,mBAAmB;YACzB,KAAK,EAAE,OAAO,CAAC,UAAU;YACzB,IAAI,EAAE,6CAAqB,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,MAAM;SACjB,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAvBD,4CAuBC"}
1
+ {"version":3,"file":"checkAlphaGating.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkAlphaGating.ts"],"names":[],"mappings":";;;AAEA,mEAAgE;AAEhE;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAC9B,MAAyB,EACzB,OAAuB,EACvB,OAA6B;IAE7B,MAAM,MAAM,GAAG,EAAoB,CAAC;IACpC,+CAA+C;IAC/C,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,0CAA0C;QAC1C,OAAO,CAAC,GAAG,CACT,qFAAqF,CACtF,CAAC;QAEF,MAAM,MAAM,GAAmB,OAAO,CAAC,UAAU;YAC/C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,eAAe,CAAC;QAEpB,mBAAmB;QACnB,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,mBAAmB;YACzB,KAAK,EAAE,OAAO,CAAC,UAAU;YACzB,IAAI,EAAE,6CAAqB,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,MAAM;SACjB,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AA5BD,4CA4BC"}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkAvailability = void 0;
4
+ const getPolicyResponseCode_1 = require("./getPolicyResponseCode");
5
+ /**
6
+ * @internal
7
+ * Verify that the policy.availability requirement is met.
8
+ * If a value is specified in the policy, the current context must be one of those values.
9
+ * @param policy
10
+ * @param context
11
+ * @param entity
12
+ * @returns
13
+ */
14
+ function checkAvailability(policy, context, _entity) {
15
+ let checks = [];
16
+ if (policy.availability && policy.availability.length) {
17
+ // Build array of the context's availability values
18
+ // based on the isAlphaOrg and isBetaOrg properties
19
+ const contextAvailability = [];
20
+ if (context.isAlphaOrg) {
21
+ contextAvailability.push("alpha");
22
+ }
23
+ if (context.isBetaOrg) {
24
+ contextAvailability.push("beta");
25
+ }
26
+ // if we have no values in the array, then we push in "ga"
27
+ if (!contextAvailability.length) {
28
+ contextAvailability.push("general");
29
+ }
30
+ // reduce over the policy.availability array, adding a check for each
31
+ // value that is not included in the contextAvailability array
32
+ checks = policy.availability.reduce((acc, value) => {
33
+ let result = "granted";
34
+ if (!contextAvailability.includes(value)) {
35
+ result = `not-${value}-org`;
36
+ }
37
+ const check = {
38
+ name: `user in ${value} org`,
39
+ value: contextAvailability.join(", "),
40
+ code: getPolicyResponseCode_1.getPolicyResponseCode(result),
41
+ response: result,
42
+ };
43
+ acc.push(check);
44
+ return acc;
45
+ }, []);
46
+ }
47
+ return checks;
48
+ }
49
+ exports.checkAvailability = checkAvailability;
50
+ //# sourceMappingURL=checkAvailability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkAvailability.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkAvailability.ts"],"names":[],"mappings":";;;AAIA,mEAAgE;AAEhE;;;;;;;;GAQG;AACH,SAAgB,iBAAiB,CAC/B,MAAyB,EACzB,OAAuB,EACvB,OAA6B;IAE7B,IAAI,MAAM,GAAG,EAAoB,CAAC;IAClC,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE;QACrD,mDAAmD;QACnD,mDAAmD;QACnD,MAAM,mBAAmB,GAAsB,EAAE,CAAC;QAClD,IAAI,OAAO,CAAC,UAAU,EAAE;YACtB,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACnC;QACD,IAAI,OAAO,CAAC,SAAS,EAAE;YACrB,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAClC;QACD,0DAA0D;QAC1D,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE;YAC/B,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;SACrC;QAED,qEAAqE;QACrE,8DAA8D;QAC9D,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAmB,EAAE,KAAK,EAAE,EAAE;YACjE,IAAI,MAAM,GAAmB,SAAS,CAAC;YACvC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;gBACxC,MAAM,GAAG,OAAO,KAAK,MAAwB,CAAC;aAC/C;YACD,MAAM,KAAK,GAAiB;gBAC1B,IAAI,EAAE,WAAW,KAAK,MAAM;gBAC5B,KAAK,EAAE,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;gBACrC,IAAI,EAAE,6CAAqB,CAAC,MAAM,CAAC;gBACnC,QAAQ,EAAE,MAAM;aACjB,CAAC;YACF,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAEhB,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAE,CAAC,CAAC;KACR;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAxCD,8CAwCC"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkEntityFeature = void 0;
4
+ const get_with_default_1 = require("../../objects/get-with-default");
5
+ const getPolicyResponseCode_1 = require("./getPolicyResponseCode");
6
+ function checkEntityFeature(policy, _entitycontext, entity) {
7
+ const checks = [];
8
+ // Only check things if the policy can be configured by the entity
9
+ // This prevents arbitrary checks from being overriden by the entity
10
+ if (entity && policy.entityConfigurable) {
11
+ const result = "feature-enabled";
12
+ // create the check, default to enabled
13
+ const check = {
14
+ name: `entity feature enabled`,
15
+ value: `entity feature ${policy.permission} check`,
16
+ code: getPolicyResponseCode_1.getPolicyResponseCode(result),
17
+ response: result,
18
+ };
19
+ // Check if the feature is enabled for the entity defaulting to true
20
+ const isFeatureEnabled = get_with_default_1.getWithDefault(entity, `features.${policy.permission}`, true);
21
+ if (!isFeatureEnabled) {
22
+ check.response = "feature-disabled";
23
+ check.code = getPolicyResponseCode_1.getPolicyResponseCode("feature-disabled");
24
+ }
25
+ checks.push(check);
26
+ }
27
+ return checks;
28
+ }
29
+ exports.checkEntityFeature = checkEntityFeature;
30
+ //# sourceMappingURL=checkEntityFeature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkEntityFeature.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkEntityFeature.ts"],"names":[],"mappings":";;;AACA,qEAAgE;AAIhE,mEAAgE;AAEhE,SAAgB,kBAAkB,CAChC,MAAyB,EACzB,cAA8B,EAC9B,MAA4B;IAE5B,MAAM,MAAM,GAAG,EAAoB,CAAC;IACpC,kEAAkE;IAClE,oEAAoE;IACpE,IAAI,MAAM,IAAI,MAAM,CAAC,kBAAkB,EAAE;QACvC,MAAM,MAAM,GAAG,iBAAmC,CAAC;QACnD,uCAAuC;QACvC,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,wBAAwB;YAC9B,KAAK,EAAE,kBAAkB,MAAM,CAAC,UAAU,QAAQ;YAClD,IAAI,EAAE,6CAAqB,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,MAAM;SACjB,CAAC;QAEF,oEAAoE;QACpE,MAAM,gBAAgB,GAAG,iCAAc,CACrC,MAAM,EACN,YAAY,MAAM,CAAC,UAAU,EAAE,EAC/B,IAAI,CACL,CAAC;QACF,IAAI,CAAC,gBAAgB,EAAE;YACrB,KAAK,CAAC,QAAQ,GAAG,kBAAkB,CAAC;YACpC,KAAK,CAAC,IAAI,GAAG,6CAAqB,CAAC,kBAAkB,CAAC,CAAC;SACxD;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AA/BD,gDA+BC"}
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkEnvironment = void 0;
4
+ const getPolicyResponseCode_1 = require("./getPolicyResponseCode");
5
+ /**
6
+ * @internal
7
+ * Verify that the policy.environment requirement is met.
8
+ *
9
+ * @param policy
10
+ * @param context
11
+ * @param entity
12
+ * @returns
13
+ */
14
+ function checkEnvironment(policy, context, _entity) {
15
+ const checks = [];
16
+ if (policy.environments && policy.environments.length) {
17
+ let result = "granted";
18
+ if (!policy.environments.includes(context.environment)) {
19
+ result = "not-in-environment";
20
+ }
21
+ const check = {
22
+ name: `user in ${policy.environments.join(",")} org`,
23
+ value: context.environment,
24
+ code: getPolicyResponseCode_1.getPolicyResponseCode(result),
25
+ response: result,
26
+ };
27
+ checks.push(check);
28
+ }
29
+ return checks;
30
+ }
31
+ exports.checkEnvironment = checkEnvironment;
32
+ //# sourceMappingURL=checkEnvironment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkEnvironment.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkEnvironment.ts"],"names":[],"mappings":";;;AAIA,mEAAgE;AAEhE;;;;;;;;GAQG;AACH,SAAgB,gBAAgB,CAC9B,MAAyB,EACzB,OAAuB,EACvB,OAA6B;IAE7B,MAAM,MAAM,GAAG,EAAoB,CAAC;IACpC,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE;QACrD,IAAI,MAAM,GAAmB,SAAS,CAAC;QAEvC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YACtD,MAAM,GAAG,oBAAoB,CAAC;SAC/B;QACD,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,WAAW,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM;YACpD,KAAK,EAAE,OAAO,CAAC,WAAW;YAC1B,IAAI,EAAE,6CAAqB,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,MAAM;SACjB,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AArBD,4CAqBC"}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkParents = void 0;
4
+ const checkPermission_1 = require("../checkPermission");
5
+ /**
6
+ * @internal
7
+ * Check the parent policies for the given policy
8
+ * @param policy
9
+ * @param context
10
+ * @param entity
11
+ * @returns
12
+ */
13
+ function checkParents(policy, context, entity) {
14
+ var _a;
15
+ let checks = [];
16
+ if ((_a = policy.dependencies) === null || _a === void 0 ? void 0 : _a.length) {
17
+ // map over the parents array of permissions and check each one
18
+ checks = policy.dependencies.reduce((acc, parent) => {
19
+ const result = checkPermission_1.checkPermission(parent, context, entity);
20
+ acc = [...acc, ...result.checks];
21
+ return acc;
22
+ }, []);
23
+ }
24
+ return checks;
25
+ }
26
+ exports.checkParents = checkParents;
27
+ //# sourceMappingURL=checkParents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkParents.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkParents.ts"],"names":[],"mappings":";;;AACA,wDAAqD;AAIrD;;;;;;;GAOG;AACH,SAAgB,YAAY,CAC1B,MAAyB,EACzB,OAAuB,EACvB,MAA4B;;IAE5B,IAAI,MAAM,GAAG,EAAoB,CAAC;IAClC,UAAI,MAAM,CAAC,YAAY,0CAAE,MAAM,EAAE;QAC/B,+DAA+D;QAC/D,MAAM,GAAG,MAAM,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YAClD,MAAM,MAAM,GAAG,iCAAe,CAAC,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YACxD,GAAG,GAAG,CAAC,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;YACjC,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAAoB,CAAC,CAAC;KAC1B;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAfD,oCAeC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkServiceStatus = void 0;
4
+ const getPolicyResponseCode_1 = require("./getPolicyResponseCode");
5
+ function checkServiceStatus(policy, context, _entity) {
6
+ let checks = [];
7
+ if (policy.services) {
8
+ const services = context.serviceStatus;
9
+ // we need each service to have a status of "online"
10
+ // and if not, return status info
11
+ checks = policy.services.map((service) => {
12
+ let result = "granted";
13
+ if (services[service] !== "online") {
14
+ result = `service-${services[service]}`;
15
+ }
16
+ const check = {
17
+ name: `service ${service} online`,
18
+ value: `service is ${services[service]}`,
19
+ code: getPolicyResponseCode_1.getPolicyResponseCode(result),
20
+ response: result,
21
+ };
22
+ return check;
23
+ });
24
+ }
25
+ return checks;
26
+ }
27
+ exports.checkServiceStatus = checkServiceStatus;
28
+ //# sourceMappingURL=checkServiceStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkServiceStatus.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkServiceStatus.ts"],"names":[],"mappings":";;;AAIA,mEAAgE;AAEhE,SAAgB,kBAAkB,CAChC,MAAyB,EACzB,OAAuB,EACvB,OAA6B;IAE7B,IAAI,MAAM,GAAG,EAAoB,CAAC;IAClC,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,aAAa,CAAC;QACvC,oDAAoD;QACpD,iCAAiC;QACjC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YACvC,IAAI,MAAM,GAAmB,SAAS,CAAC;YACvC,IAAI,QAAQ,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE;gBAClC,MAAM,GAAG,WAAW,QAAQ,CAAC,OAAO,CAAC,EAAoB,CAAC;aAC3D;YAED,MAAM,KAAK,GAAiB;gBAC1B,IAAI,EAAE,WAAW,OAAO,SAAS;gBACjC,KAAK,EAAE,cAAc,QAAQ,CAAC,OAAO,CAAC,EAAE;gBACxC,IAAI,EAAE,6CAAqB,CAAC,MAAM,CAAC;gBACnC,QAAQ,EAAE,MAAM;aACjB,CAAC;YACF,OAAO,KAAK,CAAC;QACf,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AA3BD,gDA2BC"}
@@ -20,8 +20,12 @@ const policyResponseCodes = [
20
20
  { response: "edit-access", code: "PC113" },
21
21
  { response: "invalid-permission", code: "PC114" },
22
22
  { response: "privilege-required", code: "PC115" },
23
+ // ----------- TODO Remove with Capabilities
23
24
  { response: "system-offline", code: "PC116" },
24
25
  { response: "system-maintenance", code: "PC117" },
26
+ // -------------------------------------------
27
+ { response: "service-offline", code: "PC116" },
28
+ { response: "service-maintenance", code: "PC117" },
25
29
  { response: "entity-required", code: "PC118" },
26
30
  { response: "not-authenticated", code: "PC119" },
27
31
  { response: "not-alpha-org", code: "PC120" },
@@ -37,6 +41,10 @@ const policyResponseCodes = [
37
41
  { response: "assertion-failed", code: "PC130" },
38
42
  { response: "assertion-requires-numeric-values", code: "PC131" },
39
43
  { response: "property-match", code: "PC132" },
44
+ { response: "not-beta-org", code: "PC133" },
45
+ { response: "not-in-environment", code: "PC134" },
46
+ { response: "feature-disabled", code: "PC135" },
47
+ { response: "feature-enabled", code: "PC136" },
40
48
  ];
41
49
  /**
42
50
  * Get a code that can be used for i18n or other purposes, based on the PolicyResponse
@@ -1 +1 @@
1
- {"version":3,"file":"getPolicyResponseCode.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/getPolicyResponseCode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getPolicyResponseCode.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/getPolicyResponseCode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processEntityFeatures = void 0;
4
+ /**
5
+ * Take an entity's features and merge them with the default features ensuring
6
+ * that only the featires defined in the business rules are allowed through.
7
+ * @param entityFeatures
8
+ * @param defaultFeatures
9
+ * @returns
10
+ */
11
+ function processEntityFeatures(entityFeatures, defaultFeatures) {
12
+ // Extend the defaults with the entity values
13
+ const features = Object.assign(Object.assign({}, defaultFeatures), entityFeatures);
14
+ // Remove any features that are not in the default features hash.
15
+ // this prevents enabling features that are not defined in hub business rules
16
+ const defaultKeys = Object.keys(defaultFeatures);
17
+ const keysToRemove = Object.keys(features).reduce((acc, key) => {
18
+ if (!defaultKeys.includes(key)) {
19
+ acc.push(key);
20
+ }
21
+ return acc;
22
+ }, []);
23
+ // remove any keys that are not in the default hash
24
+ keysToRemove.forEach((key) => {
25
+ delete features[key];
26
+ });
27
+ return features;
28
+ }
29
+ exports.processEntityFeatures = processEntityFeatures;
30
+ //# sourceMappingURL=processEntityFeatures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processEntityFeatures.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/processEntityFeatures.ts"],"names":[],"mappings":";;;AAGA;;;;;;GAMG;AACH,SAAgB,qBAAqB,CACnC,cAA+B,EAC/B,eAAgC;IAEhC,6CAA6C;IAC7C,MAAM,QAAQ,mCAAQ,eAAe,GAAK,cAAc,CAAE,CAAC;IAE3D,iEAAiE;IACjE,6EAA6E;IAC7E,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACjD,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QAC7D,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,mDAAmD;IACnD,YAAY,CAAC,OAAO,CAAC,CAAC,GAAe,EAAE,EAAE;QACvC,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC;AArBD,sDAqBC"}
@@ -13,6 +13,11 @@ const checkEdit_1 = require("./_internal/checkEdit");
13
13
  const checkPrivileges_1 = require("./_internal/checkPrivileges");
14
14
  const checkEntityPolicy_1 = require("./_internal/checkEntityPolicy");
15
15
  const checkAssertions_1 = require("./_internal/checkAssertions");
16
+ const checkParents_1 = require("./_internal/checkParents");
17
+ const checkEnvironment_1 = require("./_internal/checkEnvironment");
18
+ const checkAvailability_1 = require("./_internal/checkAvailability");
19
+ const checkEntityFeature_1 = require("./_internal/checkEntityFeature");
20
+ const checkServiceStatus_1 = require("./_internal/checkServiceStatus");
16
21
  /**
17
22
  * Check a permission against the system policies, and possibly an entity policy
18
23
  * @param permission
@@ -43,7 +48,12 @@ function checkPermission(permission, context, entity) {
43
48
  checks: [],
44
49
  };
45
50
  const checks = [
51
+ checkParents_1.checkParents,
52
+ checkServiceStatus_1.checkServiceStatus,
53
+ checkEntityFeature_1.checkEntityFeature,
46
54
  checkAuthentication_1.checkAuthentication,
55
+ checkEnvironment_1.checkEnvironment,
56
+ checkAvailability_1.checkAvailability,
47
57
  checkLicense_1.checkLicense,
48
58
  checkPrivileges_1.checkPrivileges,
49
59
  checkOwner_1.checkOwner,
@@ -1 +1 @@
1
- {"version":3,"file":"checkPermission.js","sourceRoot":"","sources":["../../../src/permissions/checkPermission.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"checkPermission.js","sourceRoot":"","sources":["../../../src/permissions/checkPermission.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProjectPermissionPolicies = exports.ProjectPermissions = exports.ProjectCapabilityPermissions = exports.ProjectDefaultCapabilities = void 0;
3
+ exports.ProjectPermissionPolicies = exports.ProjectPermissions = exports.ProjectDefaultFeatures = exports.ProjectCapabilityPermissions = exports.ProjectDefaultCapabilities = void 0;
4
4
  /**
5
5
  * Default capabilities for a Project. If not listed here, the capability will not be available
6
6
  * This hash is combined with the capabilities hash stored in the item data. Regardless of what
7
7
  * properties are defined in the item data, only the capabilities defined here will be available
8
8
  * @private
9
+ * TODO: Remove capabilities
9
10
  */
10
11
  exports.ProjectDefaultCapabilities = {
11
12
  overview: true,
@@ -19,6 +20,7 @@ exports.ProjectDefaultCapabilities = {
19
20
  * List of all the Project Capability Permissions
20
21
  * These are considered Hub Business Rules and are not intended
21
22
  * to be modified by consumers
23
+ * TODO: Remove capabilities
22
24
  * @private
23
25
  */
24
26
  exports.ProjectCapabilityPermissions = [
@@ -53,56 +55,80 @@ exports.ProjectCapabilityPermissions = [
53
55
  permissions: ["hub:project:edit"],
54
56
  },
55
57
  ];
58
+ /**
59
+ * Default features for a Project. These are the features that can be enabled / disabled by the entity owner
60
+ */
61
+ exports.ProjectDefaultFeatures = {
62
+ "hub:project:events": false,
63
+ "hub:project:content": true,
64
+ "hub:project:discussions": false,
65
+ };
56
66
  /**
57
67
  * Project Permission Policies
58
68
  * These define the requirements any user must meet to perform related actions
59
69
  * @private
60
70
  */
61
71
  exports.ProjectPermissions = [
72
+ "hub:project",
62
73
  "hub:project:create",
63
74
  "hub:project:delete",
64
75
  "hub:project:edit",
65
76
  "hub:project:view",
66
77
  "hub:project:owner",
78
+ "hub:project:events",
79
+ "hub:project:content",
80
+ "hub:project:discussions",
67
81
  ];
68
82
  /**
69
83
  * Project permission policies
70
84
  * @private
71
85
  */
72
86
  exports.ProjectPermissionPolicies = [
87
+ {
88
+ permission: "hub:project",
89
+ services: ["portal"],
90
+ licenses: ["hub-premium"],
91
+ },
73
92
  {
74
93
  permission: "hub:project:create",
75
- subsystems: ["projects"],
76
94
  authenticated: true,
95
+ dependencies: ["hub:project"],
77
96
  privileges: ["portal:user:createItem"],
78
- licenses: ["hub-premium"],
79
97
  },
80
98
  {
99
+ // Anyone can view a project
81
100
  permission: "hub:project:view",
82
- subsystems: ["projects"],
83
- authenticated: false,
84
- licenses: ["hub-basic", "hub-premium"],
101
+ subsystems: ["platform"],
85
102
  },
86
103
  {
87
104
  permission: "hub:project:edit",
105
+ dependencies: ["hub:project"],
88
106
  authenticated: true,
89
- subsystems: ["projects"],
90
107
  entityEdit: true,
91
- licenses: ["hub-basic", "hub-premium"],
92
108
  },
93
109
  {
94
110
  permission: "hub:project:delete",
111
+ dependencies: ["hub:project"],
95
112
  authenticated: true,
96
- subsystems: ["projects"],
97
113
  entityOwner: true,
98
- licenses: ["hub-premium"],
99
114
  },
100
115
  {
101
116
  permission: "hub:project:owner",
117
+ dependencies: ["hub:project"],
102
118
  authenticated: true,
103
- subsystems: ["projects"],
104
119
  entityOwner: true,
105
- licenses: ["hub-premium"],
120
+ },
121
+ {
122
+ permission: "hub:project:events",
123
+ dependencies: ["hub:project:view"],
124
+ },
125
+ {
126
+ permission: "hub:project:content",
127
+ dependencies: ["hub:project:edit"],
128
+ },
129
+ {
130
+ permission: "hub:project:discussions",
131
+ dependencies: ["hub:project:view"],
106
132
  },
107
133
  ];
108
134
  //# sourceMappingURL=ProjectBusinessRules.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectBusinessRules.js","sourceRoot":"","sources":["../../../../src/projects/_internal/ProjectBusinessRules.ts"],"names":[],"mappings":";;;AAGA;;;;;GAKG;AACU,QAAA,0BAA0B,GAAuB;IAC5D,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,IAAI;CAChB,CAAC;AAEF;;;;;GAKG;AACU,QAAA,4BAA4B,GAA4B;IACnE;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,kBAAkB,CAAC;KAClC;IACD;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,kBAAkB,CAAC;KAClC;IACD;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,mBAAmB,CAAC;KACnC;IACD;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,kBAAkB,CAAC;KAClC;IACD;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;KAC7D;IACD;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,WAAW;QACvB,WAAW,EAAE,CAAC,kBAAkB,CAAC;KAClC;CACF,CAAC;AAEF;;;;GAIG;AACU,QAAA,kBAAkB,GAAG;IAChC,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;CACX,CAAC;AAEX;;;GAGG;AACU,QAAA,yBAAyB,GAAwB;IAC5D;QACE,UAAU,EAAE,oBAAoB;QAChC,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,wBAAwB,CAAC;QACtC,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;KACvC;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;KACvC;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,mBAAmB;QAC/B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;CACF,CAAC"}
1
+ {"version":3,"file":"ProjectBusinessRules.js","sourceRoot":"","sources":["../../../../src/projects/_internal/ProjectBusinessRules.ts"],"names":[],"mappings":";;;AAGA;;;;;;GAMG;AACU,QAAA,0BAA0B,GAAuB;IAC5D,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,IAAI;CAChB,CAAC;AAEF;;;;;;GAMG;AACU,QAAA,4BAA4B,GAA4B;IACnE;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,kBAAkB,CAAC;KAClC;IACD;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,kBAAkB,CAAC;KAClC;IACD;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,mBAAmB,CAAC;KACnC;IACD;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,kBAAkB,CAAC;KAClC;IACD;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,kBAAkB,EAAE,yBAAyB,CAAC;KAC7D;IACD;QACE,MAAM,EAAE,SAAS;QACjB,UAAU,EAAE,WAAW;QACvB,WAAW,EAAE,CAAC,kBAAkB,CAAC;KAClC;CACF,CAAC;AAEF;;GAEG;AACU,QAAA,sBAAsB,GAAoB;IACrD,oBAAoB,EAAE,KAAK;IAC3B,qBAAqB,EAAE,IAAI;IAC3B,yBAAyB,EAAE,KAAK;CACjC,CAAC;AAEF;;;;GAIG;AACU,QAAA,kBAAkB,GAAG;IAChC,aAAa;IACb,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,oBAAoB;IACpB,qBAAqB;IACrB,yBAAyB;CACjB,CAAC;AAEX;;;GAGG;AACU,QAAA,yBAAyB,GAAwB;IAC5D;QACE,UAAU,EAAE,aAAa;QACzB,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,CAAC,aAAa,CAAC;QAC7B,UAAU,EAAE,CAAC,wBAAwB,CAAC;KACvC;IACD;QACE,4BAA4B;QAC5B,UAAU,EAAE,kBAAkB;QAC9B,UAAU,EAAE,CAAC,UAAU,CAAC;KACzB;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,YAAY,EAAE,CAAC,aAAa,CAAC;QAC7B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;KACjB;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,YAAY,EAAE,CAAC,aAAa,CAAC;QAC7B,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,mBAAmB;QAC/B,YAAY,EAAE,CAAC,aAAa,CAAC;QAC7B,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,qBAAqB;QACjC,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,yBAAyB;QACrC,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;CACF,CAAC"}
@@ -5,6 +5,7 @@ const resources_1 = require("../../resources");
5
5
  const ProjectBusinessRules_1 = require("./ProjectBusinessRules");
6
6
  const capabilities_1 = require("../../capabilities");
7
7
  const discussions_1 = require("../../discussions");
8
+ const processEntityFeatures_1 = require("../../permissions/_internal/processEntityFeatures");
8
9
  /**
9
10
  * Given a model and a project, set various computed properties that can't be directly mapped
10
11
  * @private
@@ -14,7 +15,7 @@ const discussions_1 = require("../../discussions");
14
15
  * @returns
15
16
  */
16
17
  function computeProps(model, project, requestOptions) {
17
- var _a;
18
+ var _a, _b;
18
19
  let token;
19
20
  if (requestOptions.authentication) {
20
21
  const session = requestOptions.authentication;
@@ -29,7 +30,12 @@ function computeProps(model, project, requestOptions) {
29
30
  project.updatedDateSource = "item.modified";
30
31
  project.isDiscussable = discussions_1.isDiscussable(project);
31
32
  // Handle capabilities
33
+ // TODO: Remove capabilities
32
34
  project.capabilities = capabilities_1.processEntityCapabilities(((_a = model.data.settings) === null || _a === void 0 ? void 0 : _a.capabilities) || {}, ProjectBusinessRules_1.ProjectDefaultCapabilities);
35
+ /**
36
+ * Features that can be disabled by the entity owner
37
+ */
38
+ project.features = processEntityFeatures_1.processEntityFeatures(((_b = model.data.settings) === null || _b === void 0 ? void 0 : _b.features) || {}, ProjectBusinessRules_1.ProjectDefaultFeatures);
33
39
  // cast b/c this takes a partial but returns a full project
34
40
  return project;
35
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/projects/_internal/computeProps.ts"],"names":[],"mappings":";;;AAEA,+CAAsD;AAGtD,iEAAoE;AACpE,qDAA+D;AAC/D,mDAAkD;AAElD;;;;;;;GAOG;AACH,SAAgB,YAAY,CAC1B,KAAa,EACb,OAA6B,EAC7B,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,OAAO,CAAC,YAAY,GAAG,+BAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAE9E,eAAe;IACf,OAAO,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,CAAC,iBAAiB,GAAG,cAAc,CAAC;IAC3C,OAAO,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,OAAO,CAAC,iBAAiB,GAAG,eAAe,CAAC;IAC5C,OAAO,CAAC,aAAa,GAAG,2BAAa,CAAC,OAAO,CAAC,CAAC;IAE/C,sBAAsB;IACtB,OAAO,CAAC,YAAY,GAAG,wCAAyB,CAC9C,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,YAAY,KAAI,EAAE,EACvC,iDAA0B,CAC3B,CAAC;IAEF,2DAA2D;IAC3D,OAAO,OAAsB,CAAC;AAChC,CAAC;AA5BD,oCA4BC"}
1
+ {"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/projects/_internal/computeProps.ts"],"names":[],"mappings":";;;AAEA,+CAAsD;AAGtD,iEAGgC;AAChC,qDAA+D;AAC/D,mDAAkD;AAClD,6FAA0F;AAE1F;;;;;;;GAOG;AACH,SAAgB,YAAY,CAC1B,KAAa,EACb,OAA6B,EAC7B,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,OAAO,CAAC,YAAY,GAAG,+BAAmB,CAAC,KAAK,CAAC,IAAI,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;IAE9E,eAAe;IACf,OAAO,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACnD,OAAO,CAAC,iBAAiB,GAAG,cAAc,CAAC;IAC3C,OAAO,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpD,OAAO,CAAC,iBAAiB,GAAG,eAAe,CAAC;IAC5C,OAAO,CAAC,aAAa,GAAG,2BAAa,CAAC,OAAO,CAAC,CAAC;IAE/C,sBAAsB;IACtB,4BAA4B;IAC5B,OAAO,CAAC,YAAY,GAAG,wCAAyB,CAC9C,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,YAAY,KAAI,EAAE,EACvC,iDAA0B,CAC3B,CAAC;IAEF;;OAEG;IACH,OAAO,CAAC,QAAQ,GAAG,6CAAqB,CACtC,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,QAAQ,KAAI,EAAE,EACnC,6CAAsB,CACvB,CAAC;IAEF,2DAA2D;IAC3D,OAAO,OAAsB,CAAC;AAChC,CAAC;AArCD,oCAqCC"}