@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
@@ -10,19 +10,23 @@ const getPolicyResponseCode_1 = require("./getPolicyResponseCode");
10
10
  * @returns
11
11
  */
12
12
  function checkAuthentication(policy, context, entity) {
13
- let response = "granted";
13
+ const checks = [];
14
14
  // Only return a check if the policy is defined
15
- if (policy.authenticated && !context.isAuthenticated) {
16
- response = "not-authenticated";
15
+ if (policy.hasOwnProperty("authenticated")) {
16
+ let response = "granted";
17
+ if (policy.authenticated && !context.isAuthenticated) {
18
+ response = "not-authenticated";
19
+ }
20
+ // create the check
21
+ const check = {
22
+ name: "authentication",
23
+ value: `required: ${policy.authenticated}`,
24
+ code: getPolicyResponseCode_1.getPolicyResponseCode(response),
25
+ response,
26
+ };
27
+ checks.push(check);
17
28
  }
18
- // create the check
19
- const check = {
20
- name: "authentication",
21
- value: `required: ${policy.authenticated}`,
22
- code: getPolicyResponseCode_1.getPolicyResponseCode(response),
23
- response,
24
- };
25
- return [check];
29
+ return checks;
26
30
  }
27
31
  exports.checkAuthentication = checkAuthentication;
28
32
  //# sourceMappingURL=checkAuthentication.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkAuthentication.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkAuthentication.ts"],"names":[],"mappings":";;;AAGA,mEAAgE;AAEhE;;;;;;GAMG;AACH,SAAgB,mBAAmB,CACjC,MAAyB,EACzB,OAAuB,EACvB,MAAkB;IAElB,IAAI,QAAQ,GAAmB,SAAS,CAAC;IAEzC,+CAA+C;IAC/C,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;QACpD,QAAQ,GAAG,mBAAmB,CAAC;KAChC;IAED,mBAAmB;IACnB,MAAM,KAAK,GAAiB;QAC1B,IAAI,EAAE,gBAAgB;QACtB,KAAK,EAAE,aAAa,MAAM,CAAC,aAAa,EAAE;QAC1C,IAAI,EAAE,6CAAqB,CAAC,QAAQ,CAAC;QACrC,QAAQ;KACT,CAAC;IAEF,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AArBD,kDAqBC"}
1
+ {"version":3,"file":"checkAuthentication.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkAuthentication.ts"],"names":[],"mappings":";;;AAEA,mEAAgE;AAEhE;;;;;;GAMG;AACH,SAAgB,mBAAmB,CACjC,MAAyB,EACzB,OAAuB,EACvB,MAA4B;IAE5B,MAAM,MAAM,GAAG,EAAoB,CAAC;IAEpC,+CAA+C;IAC/C,IAAI,MAAM,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE;QAC1C,IAAI,QAAQ,GAAmB,SAAS,CAAC;QAEzC,IAAI,MAAM,CAAC,aAAa,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE;YACpD,QAAQ,GAAG,mBAAmB,CAAC;SAChC;QAED,mBAAmB;QACnB,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,gBAAgB;YACtB,KAAK,EAAE,aAAa,MAAM,CAAC,aAAa,EAAE;YAC1C,IAAI,EAAE,6CAAqB,CAAC,QAAQ,CAAC;YACrC,QAAQ;SACT,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAzBD,kDAyBC"}
@@ -12,17 +12,20 @@ const getPolicyResponseCode_1 = require("./getPolicyResponseCode");
12
12
  */
13
13
  function checkEdit(policy, context, entity) {
14
14
  const checks = [];
15
- let response = "granted";
16
15
  // Only return a check if the policy is defined
17
- if (policy.entityEdit) {
16
+ if (policy.hasOwnProperty("entityEdit")) {
17
+ let response = "granted";
18
18
  if (!entity) {
19
19
  // fail b/c no entity
20
20
  response = "entity-required";
21
21
  }
22
22
  else {
23
- if (!entity.canEdit) {
23
+ if (policy.entityEdit && !entity.canEdit) {
24
24
  response = "no-edit-access";
25
25
  }
26
+ else if (!policy.entityEdit && entity.canEdit) {
27
+ response = "edit-access";
28
+ }
26
29
  }
27
30
  // create the check
28
31
  const check = {
@@ -1 +1 @@
1
- {"version":3,"file":"checkEdit.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkEdit.ts"],"names":[],"mappings":";;;AAEA,2CAA+C;AAE/C,mEAAgE;AAEhE;;;;;;GAMG;AACH,SAAgB,SAAS,CACvB,MAAyB,EACzB,OAAuB,EACvB,MAAkB;IAElB,MAAM,MAAM,GAAG,EAAoB,CAAC;IACpC,IAAI,QAAQ,GAAmB,SAAS,CAAC;IAEzC,+CAA+C;IAC/C,IAAI,MAAM,CAAC,UAAU,EAAE;QACrB,IAAI,CAAC,MAAM,EAAE;YACX,qBAAqB;YACrB,QAAQ,GAAG,iBAAiB,CAAC;SAC9B;aAAM;YACL,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBACnB,QAAQ,GAAG,gBAAgB,CAAC;aAC7B;SACF;QAED,mBAAmB;QACnB,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,mBAAmB,wBAAc,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE;YACpE,IAAI,EAAE,6CAAqB,CAAC,QAAQ,CAAC;YACrC,QAAQ;SACT,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AA9BD,8BA8BC"}
1
+ {"version":3,"file":"checkEdit.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkEdit.ts"],"names":[],"mappings":";;;AACA,2CAA+C;AAE/C,mEAAgE;AAEhE;;;;;;GAMG;AACH,SAAgB,SAAS,CACvB,MAAyB,EACzB,OAAuB,EACvB,MAA4B;IAE5B,MAAM,MAAM,GAAG,EAAoB,CAAC;IAEpC,+CAA+C;IAC/C,IAAI,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,EAAE;QACvC,IAAI,QAAQ,GAAmB,SAAS,CAAC;QACzC,IAAI,CAAC,MAAM,EAAE;YACX,qBAAqB;YACrB,QAAQ,GAAG,iBAAiB,CAAC;SAC9B;aAAM;YACL,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE;gBACxC,QAAQ,GAAG,gBAAgB,CAAC;aAC7B;iBAAM,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,OAAO,EAAE;gBAC/C,QAAQ,GAAG,aAAa,CAAC;aAC1B;SACF;QAED,mBAAmB;QACnB,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,sBAAsB;YAC5B,KAAK,EAAE,mBAAmB,wBAAc,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE;YACpE,IAAI,EAAE,6CAAqB,CAAC,QAAQ,CAAC;YACrC,QAAQ;SACT,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAhCD,8BAgCC"}
@@ -10,7 +10,7 @@ const getPolicyResponseCode_1 = require("./getPolicyResponseCode");
10
10
  * @returns
11
11
  */
12
12
  function checkEntityPolicy(policy, context) {
13
- const user = context.currentUser;
13
+ const user = context.currentUser || { groups: [] };
14
14
  const userGroups = user.groups || [];
15
15
  let response = "not-granted";
16
16
  const type = policy.collaborationType;
@@ -41,13 +41,25 @@ function checkEntityPolicy(policy, context) {
41
41
  }
42
42
  if (type === "group-admin") {
43
43
  const group = userGroups.find((g) => g.id === id);
44
- if (objects_1.getProp(group, "userMembership.memberType") === "admin") {
44
+ const memberType = objects_1.getProp(group, "userMembership.memberType");
45
+ if (["admin", "owner"].includes(memberType)) {
45
46
  response = "granted";
46
47
  }
47
48
  else {
48
49
  response = "not-group-admin";
49
50
  }
50
51
  }
52
+ if (type === "authenticated") {
53
+ if (context.isAuthenticated) {
54
+ response = "granted";
55
+ }
56
+ else {
57
+ response = "not-authenticated";
58
+ }
59
+ }
60
+ if (type === "anonymous") {
61
+ response = "granted";
62
+ }
51
63
  const check = {
52
64
  name: "entity:policy",
53
65
  value: `${policy.collaborationType}:${policy.collaborationId}`,
@@ -1 +1 @@
1
- {"version":3,"file":"checkEntityPolicy.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkEntityPolicy.ts"],"names":[],"mappings":";;;AACA,2CAAwC;AAMxC,mEAAgE;AAGhE;;;;;GAKG;AAEH,SAAgB,iBAAiB,CAC/B,MAA+B,EAC/B,OAAuB;IAEvB,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC;IACjC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAK,EAAe,CAAC;IACnD,IAAI,QAAQ,GAAmB,aAAa,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACtC,MAAM,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC;IAElC,IAAI,IAAI,KAAK,MAAM,EAAE;QACnB,IAAI,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE;YACxB,QAAQ,GAAG,SAAS,CAAC;SACtB;aAAM;YACL,QAAQ,GAAG,aAAa,CAAC;SAC1B;KACF;IAED,IAAI,IAAI,KAAK,KAAK,EAAE;QAClB,IAAI,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE;YACrB,QAAQ,GAAG,SAAS,CAAC;SACtB;aAAM;YACL,QAAQ,GAAG,gBAAgB,CAAC;SAC7B;KACF;IAED,IAAI,IAAI,KAAK,OAAO,EAAE;QACpB,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;YAC/C,QAAQ,GAAG,SAAS,CAAC;SACtB;aAAM;YACL,QAAQ,GAAG,kBAAkB,CAAC;SAC/B;KACF;IAED,IAAI,IAAI,KAAK,aAAa,EAAE;QAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1D,IAAI,iBAAO,CAAC,KAAK,EAAE,2BAA2B,CAAC,KAAK,OAAO,EAAE;YAC3D,QAAQ,GAAG,SAAS,CAAC;SACtB;aAAM;YACL,QAAQ,GAAG,iBAAiB,CAAC;SAC9B;KACF;IAED,MAAM,KAAK,GAAiB;QAC1B,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,GAAG,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,eAAe,EAAE;QAC9D,QAAQ;QACR,IAAI,EAAE,6CAAqB,CAAC,QAAQ,CAAC;KACtC,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAlDD,8CAkDC"}
1
+ {"version":3,"file":"checkEntityPolicy.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkEntityPolicy.ts"],"names":[],"mappings":";;;AACA,2CAAwC;AAMxC,mEAAgE;AAGhE;;;;;GAKG;AACH,SAAgB,iBAAiB,CAC/B,MAA+B,EAC/B,OAAuB;IAEvB,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,IAAK,EAAE,MAAM,EAAE,EAAE,EAAY,CAAC;IAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,IAAK,EAAe,CAAC;IACnD,IAAI,QAAQ,GAAmB,aAAa,CAAC;IAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,iBAAiB,CAAC;IACtC,MAAM,EAAE,GAAG,MAAM,CAAC,eAAe,CAAC;IAElC,IAAI,IAAI,KAAK,MAAM,EAAE;QACnB,IAAI,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE;YACxB,QAAQ,GAAG,SAAS,CAAC;SACtB;aAAM;YACL,QAAQ,GAAG,aAAa,CAAC;SAC1B;KACF;IAED,IAAI,IAAI,KAAK,KAAK,EAAE;QAClB,IAAI,EAAE,KAAK,IAAI,CAAC,KAAK,EAAE;YACrB,QAAQ,GAAG,SAAS,CAAC;SACtB;aAAM;YACL,QAAQ,GAAG,gBAAgB,CAAC;SAC7B;KACF;IAED,IAAI,IAAI,KAAK,OAAO,EAAE;QACpB,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE;YAC/C,QAAQ,GAAG,SAAS,CAAC;SACtB;aAAM;YACL,QAAQ,GAAG,kBAAkB,CAAC;SAC/B;KACF;IAED,IAAI,IAAI,KAAK,aAAa,EAAE;QAC1B,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1D,MAAM,UAAU,GAAG,iBAAO,CAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;QAC/D,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAC3C,QAAQ,GAAG,SAAS,CAAC;SACtB;aAAM;YACL,QAAQ,GAAG,iBAAiB,CAAC;SAC9B;KACF;IAED,IAAI,IAAI,KAAK,eAAe,EAAE;QAC5B,IAAI,OAAO,CAAC,eAAe,EAAE;YAC3B,QAAQ,GAAG,SAAS,CAAC;SACtB;aAAM;YACL,QAAQ,GAAG,mBAAmB,CAAC;SAChC;KACF;IAED,IAAI,IAAI,KAAK,WAAW,EAAE;QACxB,QAAQ,GAAG,SAAS,CAAC;KACtB;IAED,MAAM,KAAK,GAAiB;QAC1B,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,GAAG,MAAM,CAAC,iBAAiB,IAAI,MAAM,CAAC,eAAe,EAAE;QAC9D,QAAQ;QACR,IAAI,EAAE,6CAAqB,CAAC,QAAQ,CAAC;KACtC,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AA/DD,8CA+DC"}
@@ -9,23 +9,29 @@ const getPolicyResponseCode_1 = require("./getPolicyResponseCode");
9
9
  * @param context
10
10
  * @returns
11
11
  */
12
- function checkLicense(policy, context) {
13
- let result = "granted";
14
- if (!policy.licenses.includes(context.hubLicense)) {
15
- result = "not-available";
16
- // can we show an upgrade ux?
17
- if (policy.licenses[0] === "hub-premium" &&
18
- context.hubLicense === "hub-basic") {
19
- result = "not-licensed"; // implies it could be licensed
12
+ function checkLicense(policy, context, entity) {
13
+ var _a;
14
+ const checks = [];
15
+ // Only return a check if the policy is defined
16
+ if ((_a = policy.licenses) === null || _a === void 0 ? void 0 : _a.length) {
17
+ let result = "granted";
18
+ if (!policy.licenses.includes(context.hubLicense)) {
19
+ result = "not-available";
20
+ // can we show an upgrade ux?
21
+ if (policy.licenses[0] === "hub-premium" &&
22
+ context.hubLicense === "hub-basic") {
23
+ result = "not-licensed"; // implies it could be licensed
24
+ }
20
25
  }
26
+ const check = {
27
+ name: `license in ${policy.licenses.join(", ")}`,
28
+ value: context.hubLicense,
29
+ code: getPolicyResponseCode_1.getPolicyResponseCode(result),
30
+ response: result,
31
+ };
32
+ checks.push(check);
21
33
  }
22
- const check = {
23
- name: `license in ${policy.licenses.join(", ")}`,
24
- value: context.hubLicense,
25
- code: getPolicyResponseCode_1.getPolicyResponseCode(result),
26
- response: result,
27
- };
28
- return [check];
34
+ return checks;
29
35
  }
30
36
  exports.checkLicense = checkLicense;
31
37
  //# sourceMappingURL=checkLicense.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkLicense.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkLicense.ts"],"names":[],"mappings":";;;AAEA,mEAAgE;AAEhE;;;;;;GAMG;AACH,SAAgB,YAAY,CAC1B,MAAyB,EACzB,OAAuB;IAEvB,IAAI,MAAM,GAAmB,SAAS,CAAC;IAEvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QACjD,MAAM,GAAG,eAAe,CAAC;QACzB,6BAA6B;QAC7B,IACE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,aAAa;YACpC,OAAO,CAAC,UAAU,KAAK,WAAW,EAClC;YACA,MAAM,GAAG,cAAc,CAAC,CAAC,+BAA+B;SACzD;KACF;IAED,MAAM,KAAK,GAAiB;QAC1B,IAAI,EAAE,cAAc,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAChD,KAAK,EAAE,OAAO,CAAC,UAAU;QACzB,IAAI,EAAE,6CAAqB,CAAC,MAAM,CAAC;QACnC,QAAQ,EAAE,MAAM;KACjB,CAAC;IAEF,OAAO,CAAC,KAAK,CAAC,CAAC;AACjB,CAAC;AAzBD,oCAyBC"}
1
+ {"version":3,"file":"checkLicense.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkLicense.ts"],"names":[],"mappings":";;;AAEA,mEAAgE;AAEhE;;;;;;GAMG;AACH,SAAgB,YAAY,CAC1B,MAAyB,EACzB,OAAuB,EACvB,MAA4B;;IAE5B,MAAM,MAAM,GAAG,EAAoB,CAAC;IACpC,+CAA+C;IAC/C,UAAI,MAAM,CAAC,QAAQ,0CAAE,MAAM,EAAE;QAC3B,IAAI,MAAM,GAAmB,SAAS,CAAC;QAEvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YACjD,MAAM,GAAG,eAAe,CAAC;YACzB,6BAA6B;YAC7B,IACE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,aAAa;gBACpC,OAAO,CAAC,UAAU,KAAK,WAAW,EAClC;gBACA,MAAM,GAAG,cAAc,CAAC,CAAC,+BAA+B;aACzD;SACF;QAED,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,cAAc,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YAChD,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;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AA9BD,oCA8BC"}
@@ -1 +1 @@
1
- {"version":3,"file":"checkOwner.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkOwner.ts"],"names":[],"mappings":";;;AAGA,mEAAgE;AAEhE;;;;;;GAMG;AACH,SAAgB,UAAU,CACxB,MAAyB,EACzB,OAAuB,EACvB,MAAkB;IAElB,MAAM,MAAM,GAAG,EAAoB,CAAC;IACpC,+CAA+C;IAC/C,IAAI,MAAM,CAAC,WAAW,EAAE;QACtB,IAAI,QAAQ,GAAmB,SAAS,CAAC;QACzC,IAAI,IAAI,GAAG,uBAAuB,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE;YACX,qBAAqB;YACrB,QAAQ,GAAG,iBAAiB,CAAC;SAC9B;aAAM;YACL,IAAI,GAAG,0BAA0B,MAAM,CAAC,KAAK,EAAE,CAAC;YAChD,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE;gBACjD,QAAQ,GAAG,WAAW,CAAC;aACxB;SACF;QAED,mBAAmB;QACnB,MAAM,KAAK,GAAiB;YAC1B,IAAI;YACJ,KAAK,EAAE,iBAAiB,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE;YACtD,IAAI,EAAE,6CAAqB,CAAC,QAAQ,CAAC;YACrC,QAAQ;SACT,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AA/BD,gCA+BC"}
1
+ {"version":3,"file":"checkOwner.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkOwner.ts"],"names":[],"mappings":";;;AAEA,mEAAgE;AAEhE;;;;;;GAMG;AACH,SAAgB,UAAU,CACxB,MAAyB,EACzB,OAAuB,EACvB,MAA4B;IAE5B,MAAM,MAAM,GAAG,EAAoB,CAAC;IACpC,+CAA+C;IAC/C,IAAI,MAAM,CAAC,WAAW,EAAE;QACtB,IAAI,QAAQ,GAAmB,SAAS,CAAC;QACzC,IAAI,IAAI,GAAG,uBAAuB,CAAC;QACnC,IAAI,CAAC,MAAM,EAAE;YACX,qBAAqB;YACrB,QAAQ,GAAG,iBAAiB,CAAC;SAC9B;aAAM;YACL,IAAI,GAAG,0BAA0B,MAAM,CAAC,KAAK,EAAE,CAAC;YAChD,IAAI,MAAM,CAAC,KAAK,KAAK,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE;gBACjD,QAAQ,GAAG,WAAW,CAAC;aACxB;SACF;QAED,mBAAmB;QACnB,MAAM,KAAK,GAAiB;YAC1B,IAAI;YACJ,KAAK,EAAE,iBAAiB,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE;YACtD,IAAI,EAAE,6CAAqB,CAAC,QAAQ,CAAC;YACrC,QAAQ;SACT,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AA/BD,gCA+BC"}
@@ -10,21 +10,25 @@ const getPolicyResponseCode_1 = require("./getPolicyResponseCode");
10
10
  * @returns
11
11
  */
12
12
  function checkPrivileges(policy, context, entity) {
13
- const privs = policy.privileges || [];
14
- const checks = privs.map((privilege) => {
15
- let response = "granted";
16
- let value = "privilege present";
17
- if (!context.currentUser.privileges.includes(privilege)) {
18
- response = "privilege-required";
19
- value = "privilege missing";
20
- }
21
- return {
22
- name: `privilege required: ${privilege}`,
23
- value,
24
- response,
25
- code: getPolicyResponseCode_1.getPolicyResponseCode(response),
26
- };
27
- });
13
+ var _a;
14
+ let checks = [];
15
+ // Only return a check if the policy is defined
16
+ if ((_a = policy.privileges) === null || _a === void 0 ? void 0 : _a.length) {
17
+ checks = policy.privileges.map((privilege) => {
18
+ let response = "granted";
19
+ let value = "privilege present";
20
+ if (!context.currentUser.privileges.includes(privilege)) {
21
+ response = "privilege-required";
22
+ value = "privilege missing";
23
+ }
24
+ return {
25
+ name: `privilege required: ${privilege}`,
26
+ value,
27
+ response,
28
+ code: getPolicyResponseCode_1.getPolicyResponseCode(response),
29
+ };
30
+ });
31
+ }
28
32
  return checks;
29
33
  }
30
34
  exports.checkPrivileges = checkPrivileges;
@@ -1 +1 @@
1
- {"version":3,"file":"checkPrivileges.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkPrivileges.ts"],"names":[],"mappings":";;;AAGA,mEAAgE;AAEhE;;;;;;GAMG;AACH,SAAgB,eAAe,CAC7B,MAAyB,EACzB,OAAuB,EACvB,MAAkB;IAElB,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;IAEtC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;QACrC,IAAI,QAAQ,GAAmB,SAAS,CAAC;QACzC,IAAI,KAAK,GAAG,mBAAmB,CAAC;QAChC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;YACvD,QAAQ,GAAG,oBAAoB,CAAC;YAChC,KAAK,GAAG,mBAAmB,CAAC;SAC7B;QACD,OAAO;YACL,IAAI,EAAE,uBAAuB,SAAS,EAAE;YACxC,KAAK;YACL,QAAQ;YACR,IAAI,EAAE,6CAAqB,CAAC,QAAQ,CAAC;SACtB,CAAC;IACpB,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAtBD,0CAsBC"}
1
+ {"version":3,"file":"checkPrivileges.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkPrivileges.ts"],"names":[],"mappings":";;;AAEA,mEAAgE;AAEhE;;;;;;GAMG;AACH,SAAgB,eAAe,CAC7B,MAAyB,EACzB,OAAuB,EACvB,MAA4B;;IAE5B,IAAI,MAAM,GAAG,EAAoB,CAAC;IAClC,+CAA+C;IAC/C,UAAI,MAAM,CAAC,UAAU,0CAAE,MAAM,EAAE;QAC7B,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YAC3C,IAAI,QAAQ,GAAmB,SAAS,CAAC;YACzC,IAAI,KAAK,GAAG,mBAAmB,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;gBACvD,QAAQ,GAAG,oBAAoB,CAAC;gBAChC,KAAK,GAAG,mBAAmB,CAAC;aAC7B;YACD,OAAO;gBACL,IAAI,EAAE,uBAAuB,SAAS,EAAE;gBACxC,KAAK;gBACL,QAAQ;gBACR,IAAI,EAAE,6CAAqB,CAAC,QAAQ,CAAC;aACtB,CAAC;QACpB,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAzBD,0CAyBC"}
@@ -2,23 +2,41 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getPolicyResponseCode = void 0;
4
4
  // TODO: Determine how to keep this in sycn with the PolicyResponse type
5
+ // Crappy tool https://jsbin.com/gojelov/edit?js,console,output
5
6
  const policyResponseCodes = [
6
- { response: "granted", code: "PC001" },
7
- { response: "org-member", code: "PC002" },
8
- { response: "not-org-member", code: "PC003" },
9
- { response: "group-member", code: "PC004" },
10
- { response: "not-group-member", code: "PC005" },
11
- { response: "is-user", code: "PC006" },
12
- { response: "not-owner", code: "PC007" },
13
- { response: "not-licensed", code: "PC008" },
14
- { response: "not-available", code: "PC009" },
15
- { response: "not-granted", code: "PC010" },
16
- { response: "no-edit-access", code: "PC011" },
17
- { response: "invalid-permission", code: "PC012" },
18
- { response: "privilege-required", code: "PC013" },
19
- { response: "system-offline", code: "PC014" },
20
- { response: "system-maintenance", code: "PC015" },
21
- { response: "not-licensed-available", code: "PC016" },
7
+ { response: "granted", code: "PC100" },
8
+ { response: "org-member", code: "PC101" },
9
+ { response: "not-org-member", code: "PC102" },
10
+ { response: "group-member", code: "PC103" },
11
+ { response: "not-group-member", code: "PC104" },
12
+ { response: "not-group-admin", code: "PC105" },
13
+ { response: "is-user", code: "PC106" },
14
+ { response: "not-owner", code: "PC107" },
15
+ { response: "not-licensed", code: "PC108" },
16
+ { response: "not-licensed-available", code: "PC109" },
17
+ { response: "not-available", code: "PC110" },
18
+ { response: "not-granted", code: "PC111" },
19
+ { response: "no-edit-access", code: "PC112" },
20
+ { response: "edit-access", code: "PC113" },
21
+ { response: "invalid-permission", code: "PC114" },
22
+ { response: "privilege-required", code: "PC115" },
23
+ { response: "system-offline", code: "PC116" },
24
+ { response: "system-maintenance", code: "PC117" },
25
+ { response: "entity-required", code: "PC118" },
26
+ { response: "not-authenticated", code: "PC119" },
27
+ { response: "not-alpha-org", code: "PC120" },
28
+ { response: "property-missing", code: "PC121" },
29
+ { response: "property-not-array", code: "PC122" },
30
+ { response: "array-contains-invalid-value", code: "PC123" },
31
+ { response: "array-missing-required-value", code: "PC124" },
32
+ { response: "property-mismatch", code: "PC125" },
33
+ { response: "user-not-group-member", code: "PC126" },
34
+ { response: "user-not-group-manager", code: "PC127" },
35
+ { response: "user-not-group-owner", code: "PC128" },
36
+ { response: "assertion-property-not-found", code: "PC129" },
37
+ { response: "assertion-failed", code: "PC130" },
38
+ { response: "assertion-requires-numeric-values", code: "PC131" },
39
+ { response: "property-match", code: "PC132" },
22
40
  ];
23
41
  /**
24
42
  * 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":";;;AAOA,wEAAwE;AACxE,MAAM,mBAAmB,GAAoB;IAC3C,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;IACtC,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;IACzC,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE;IAC7C,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE;IAC3C,EAAE,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,OAAO,EAAE;IAC/C,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;IACtC,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;IACxC,EAAE,QAAQ,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE;IAC3C,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,OAAO,EAAE;IAC5C,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE;IAC1C,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE;IAC7C,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE;IACjD,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE;IACjD,EAAE,QAAQ,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE;IAC7C,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE,OAAO,EAAE;IACjD,EAAE,QAAQ,EAAE,wBAAwB,EAAE,IAAI,EAAE,OAAO,EAAE;CACtD,CAAC;AAEF;;;;GAIG;AACH,SAAgB,qBAAqB,CAAC,QAAwB;IAC5D,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;IACvE,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,KAAI,OAAO,CAAC;AAChC,CAAC;AAHD,sDAGC"}
1
+ {"version":3,"file":"getPolicyResponseCode.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/getPolicyResponseCode.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ const checkOwner_1 = require("./_internal/checkOwner");
11
11
  const checkEdit_1 = require("./_internal/checkEdit");
12
12
  const checkPrivileges_1 = require("./_internal/checkPrivileges");
13
13
  const checkEntityPolicy_1 = require("./_internal/checkEntityPolicy");
14
+ const checkAssertions_1 = require("./_internal/checkAssertions");
14
15
  /**
15
16
  * Check a permission against the system policies, and possibly an entity policy
16
17
  * @param permission
@@ -22,7 +23,7 @@ function checkPermission(permission, context, entity) {
22
23
  // Early Exit: Is this even a valid permission?
23
24
  if (!types_1.isPermission(permission)) {
24
25
  return {
25
- permission,
26
+ policy: permission,
26
27
  access: false,
27
28
  response: "invalid-permission",
28
29
  code: getPolicyResponseCode_1.getPolicyResponseCode("invalid-permission"),
@@ -31,21 +32,22 @@ function checkPermission(permission, context, entity) {
31
32
  }
32
33
  // Get the system policy for this permission
33
34
  const systemPolicy = HubPermissionPolicies_1.getPermissionPolicy(permission);
35
+ // TODO: handle null systemPolicy
34
36
  // Default to granted
35
37
  const response = {
36
- permission,
38
+ policy: permission,
37
39
  access: true,
38
40
  response: "granted",
39
41
  code: getPolicyResponseCode_1.getPolicyResponseCode("granted"),
40
42
  checks: [],
41
43
  };
42
- // reduce over the check functions and collect all the checks
43
44
  const checks = [
44
45
  checkAuthentication_1.checkAuthentication,
45
46
  checkLicense_1.checkLicense,
46
47
  checkPrivileges_1.checkPrivileges,
47
- checkEdit_1.checkEdit,
48
48
  checkOwner_1.checkOwner,
49
+ checkEdit_1.checkEdit,
50
+ checkAssertions_1.checkAssertions,
49
51
  ].reduce((acc, fn) => {
50
52
  acc = [...acc, ...fn(systemPolicy, context, entity)];
51
53
  return acc;
@@ -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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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IPermissionAccessResponse.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IPermissionAccessResponse.js","sourceRoot":"","sources":["../../../../src/permissions/types/IPermissionAccessResponse.ts"],"names":[],"mappings":""}
@@ -1,20 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isPermission = void 0;
4
+ const ProjectBusinessRules_1 = require("../../projects/_internal/ProjectBusinessRules");
5
+ const SiteBusinessRules_1 = require("../../sites/_internal/SiteBusinessRules");
6
+ const InitiativeBusinessRules_1 = require("../../initiatives/_internal/InitiativeBusinessRules");
4
7
  /**
5
8
  * Defines the values for Permissions
6
- * Note: This needs to be managed as a single list or typechecking does not work
7
- * We use an array so we can check for valid permissions
9
+ * It's critical that the arrays defined in the modules use `as const`
10
+ * otherwise Permission devolves into just a string type
8
11
  */
9
12
  const validPermissions = [
10
- "hub:site:create",
11
- "hub:site:delete",
12
- "hub:site:edit",
13
- "hub:site:view",
14
- "hub:project:create",
15
- "hub:project:delete",
16
- "hub:project:edit",
17
- "hub:project:view",
13
+ ...SiteBusinessRules_1.SitePermissions,
14
+ ...ProjectBusinessRules_1.ProjectPermissions,
15
+ ...InitiativeBusinessRules_1.InitiativePermissions,
18
16
  ];
19
17
  /**
20
18
  * Validate a Permission
@@ -1 +1 @@
1
- {"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../../src/permissions/types/Permission.ts"],"names":[],"mappings":";;;AAAA;;;;GAIG;AACH,MAAM,gBAAgB,GAAG;IACvB,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,eAAe;IACf,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,kBAAkB;CACV,CAAC;AAOX;;;;GAIG;AACH,SAAgB,YAAY,CAAC,eAAuB;IAClD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,eAA6B,CAAC,CAAC;AAClE,CAAC;AAFD,oCAEC"}
1
+ {"version":3,"file":"Permission.js","sourceRoot":"","sources":["../../../../src/permissions/types/Permission.ts"],"names":[],"mappings":";;;AAAA,wFAAmF;AACnF,+EAA0E;AAC1E,iGAA4F;AAE5F;;;;GAIG;AACH,MAAM,gBAAgB,GAAG;IACvB,GAAG,mCAAe;IAClB,GAAG,yCAAkB;IACrB,GAAG,+CAAqB;CAChB,CAAC;AAOX;;;;GAIG;AACH,SAAgB,YAAY,CAAC,eAAuB;IAClD,OAAO,gBAAgB,CAAC,QAAQ,CAAC,eAA6B,CAAC,CAAC;AAClE,CAAC;AAFD,oCAEC"}
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./HubLicense"), exports);
5
- tslib_1.__exportStar(require("./IAccessResponse"), exports);
5
+ tslib_1.__exportStar(require("./IPermissionAccessResponse"), exports);
6
6
  tslib_1.__exportStar(require("./IEntityPermissionPolicy"), exports);
7
7
  tslib_1.__exportStar(require("./IPermissionPolicy"), exports);
8
8
  tslib_1.__exportStar(require("./IPolicyCheck"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/permissions/types/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAC7B,4DAAkC;AAClC,oEAA0C;AAC1C,8DAAoC;AACpC,yDAA+B;AAC/B,uDAA6B;AAC7B,8DAAoC;AACpC,2DAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/permissions/types/index.ts"],"names":[],"mappings":";;;AAAA,uDAA6B;AAC7B,sEAA4C;AAC5C,oEAA0C;AAC1C,8DAAoC;AACpC,yDAA+B;AAC/B,uDAA6B;AAC7B,8DAAoC;AACpC,2DAAiC"}
@@ -1 +1 @@
1
- {"version":3,"file":"HubProject.js","sourceRoot":"","sources":["../../../src/projects/HubProject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubProject.js","sourceRoot":"","sources":["../../../src/projects/HubProject.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProjectPermissionPolicies = exports.ProjectPermissions = exports.ProjectCapabilityPermissions = exports.ProjectDefaultCapabilities = void 0;
4
+ /**
5
+ * Default capabilities for a Project. If not listed here, the capability will not be available
6
+ * This hash is combined with the capabilities hash stored in the item data. Regardless of what
7
+ * properties are defined in the item data, only the capabilities defined here will be available
8
+ * @private
9
+ */
10
+ exports.ProjectDefaultCapabilities = {
11
+ overview: true,
12
+ details: true,
13
+ settings: true,
14
+ };
15
+ /**
16
+ * List of all the Project Capability Permissions
17
+ * These are considered Hub Business Rules and are not intended
18
+ * to be modified by consumers
19
+ * @private
20
+ */
21
+ exports.ProjectCapabilityPermissions = [
22
+ {
23
+ entity: "project",
24
+ capability: "overview",
25
+ permissions: ["hub:project:view"],
26
+ },
27
+ {
28
+ entity: "project",
29
+ capability: "details",
30
+ permissions: ["hub:project:edit"],
31
+ },
32
+ {
33
+ entity: "project",
34
+ capability: "settings",
35
+ permissions: ["hub:project:edit"],
36
+ },
37
+ ];
38
+ /**
39
+ * Project Permission Policies
40
+ * These define the requirements any user must meet to perform related actions
41
+ * @private
42
+ */
43
+ exports.ProjectPermissions = [
44
+ "hub:project:create",
45
+ "hub:project:delete",
46
+ "hub:project:edit",
47
+ "hub:project:view",
48
+ ];
49
+ /**
50
+ * Project permission policies
51
+ * @private
52
+ */
53
+ exports.ProjectPermissionPolicies = [
54
+ {
55
+ permission: "hub:project:create",
56
+ subsystems: ["projects"],
57
+ authenticated: true,
58
+ privileges: ["portal:user:createItem"],
59
+ licenses: ["hub-premium"],
60
+ },
61
+ {
62
+ permission: "hub:project:view",
63
+ subsystems: ["projects"],
64
+ authenticated: false,
65
+ licenses: ["hub-premium"],
66
+ },
67
+ {
68
+ permission: "hub:project:edit",
69
+ authenticated: true,
70
+ subsystems: ["projects"],
71
+ entityEdit: true,
72
+ licenses: ["hub-premium"],
73
+ },
74
+ {
75
+ permission: "hub:project:delete",
76
+ authenticated: true,
77
+ subsystems: ["projects"],
78
+ entityOwner: true,
79
+ licenses: ["hub-premium"],
80
+ },
81
+ ];
82
+ //# sourceMappingURL=ProjectBusinessRules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProjectBusinessRules.js","sourceRoot":"","sources":["../../../../src/projects/_internal/ProjectBusinessRules.ts"],"names":[],"mappings":";;;AAMA;;;;;GAKG;AACU,QAAA,0BAA0B,GAAuB;IAC5D,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;CACf,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,kBAAkB,CAAC;KAClC;CACF,CAAC;AAEF;;;;GAIG;AACU,QAAA,kBAAkB,GAAG;IAChC,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,kBAAkB;CACV,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,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;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;CACF,CAAC"}
@@ -1,8 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPropertyMap = exports.computeProps = void 0;
4
- const resources_1 = require("../resources");
5
- const getBasePropertyMap_1 = require("../core/_internal/getBasePropertyMap");
3
+ exports.computeProps = void 0;
4
+ const resources_1 = require("../../resources");
5
+ const ProjectBusinessRules_1 = require("./ProjectBusinessRules");
6
+ const capabilities_1 = require("../../capabilities");
6
7
  /**
7
8
  * Given a model and a project, set various computed properties that can't be directly mapped
8
9
  * @private
@@ -12,6 +13,7 @@ const getBasePropertyMap_1 = require("../core/_internal/getBasePropertyMap");
12
13
  * @returns
13
14
  */
14
15
  function computeProps(model, project, requestOptions) {
16
+ var _a;
15
17
  let token;
16
18
  if (requestOptions.authentication) {
17
19
  const session = requestOptions.authentication;
@@ -24,25 +26,10 @@ function computeProps(model, project, requestOptions) {
24
26
  project.createdDateSource = "item.created";
25
27
  project.updatedDate = new Date(model.item.modified);
26
28
  project.updatedDateSource = "item.modified";
29
+ // Handle capabilities
30
+ project.capabilities = capabilities_1.processEntityCapabilities(((_a = model.data.settings) === null || _a === void 0 ? void 0 : _a.capabilities) || {}, ProjectBusinessRules_1.ProjectDefaultCapabilities);
27
31
  // cast b/c this takes a partial but returns a full project
28
32
  return project;
29
33
  }
30
34
  exports.computeProps = computeProps;
31
- /**
32
- * Returns an Array of IPropertyMap objects
33
- * that define the projection of properties from a IModel to an IHubProject
34
- * @returns
35
- * @private
36
- */
37
- function getPropertyMap() {
38
- const map = getBasePropertyMap_1.getBasePropertyMap();
39
- // Type specific mappings
40
- map.push({ objectKey: "status", modelKey: "data.status" });
41
- map.push({ objectKey: "catalog", modelKey: "data.catalog" });
42
- map.push({ objectKey: "permissions", modelKey: "data.permissions" });
43
- map.push({ objectKey: "contacts", modelKey: "data.contacts" });
44
- map.push({ objectKey: "timeline", modelKey: "data.timeline" });
45
- return map;
46
- }
47
- exports.getPropertyMap = getPropertyMap;
48
- //# sourceMappingURL=_internal.js.map
35
+ //# sourceMappingURL=computeProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/projects/_internal/computeProps.ts"],"names":[],"mappings":";;;AAEA,+CAAsD;AAGtD,iEAAoE;AACpE,qDAA+D;AAE/D;;;;;;;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;IAE5C,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;AA3BD,oCA2BC"}
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPropertyMap = void 0;
4
+ const getBasePropertyMap_1 = require("../../core/_internal/getBasePropertyMap");
5
+ /**
6
+ * Returns an Array of IPropertyMap objects
7
+ * that define the projection of properties from a IModel to an IHubProject
8
+ * @returns
9
+ * @private
10
+ */
11
+ function getPropertyMap() {
12
+ const map = getBasePropertyMap_1.getBasePropertyMap();
13
+ // Type specific mappings
14
+ map.push({ objectKey: "status", modelKey: "data.status" });
15
+ map.push({ objectKey: "catalog", modelKey: "data.catalog" });
16
+ map.push({ objectKey: "permissions", modelKey: "data.permissions" });
17
+ map.push({
18
+ objectKey: "capabilities",
19
+ modelKey: "data.settings.capabilities",
20
+ });
21
+ map.push({ objectKey: "contacts", modelKey: "data.contacts" });
22
+ map.push({ objectKey: "timeline", modelKey: "data.timeline" });
23
+ return map;
24
+ }
25
+ exports.getPropertyMap = getPropertyMap;
26
+ //# sourceMappingURL=getPropertyMap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getPropertyMap.js","sourceRoot":"","sources":["../../../../src/projects/_internal/getPropertyMap.ts"],"names":[],"mappings":";;;AACA,gFAA6E;AAE7E;;;;;GAKG;AAEH,SAAgB,cAAc;IAC5B,MAAM,GAAG,GAAG,uCAAkB,EAAE,CAAC;IAEjC,yBAAyB;IACzB,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,CAAC;IAC3D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAC;IAC7D,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,4BAA4B;KACvC,CAAC,CAAC;IACH,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IAC/D,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,CAAC,CAAC;IAE/D,OAAO,GAAG,CAAC;AACb,CAAC;AAfD,wCAeC"}