@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
@@ -11,19 +11,8 @@ const parseInclude_1 = require("../search/_internal/parseInclude");
11
11
  const _enrichments_1 = require("../items/_enrichments");
12
12
  const _internal_1 = require("../content/_internal");
13
13
  const defaults_1 = require("./defaults");
14
- const getBasePropertyMap_1 = require("../core/_internal/getBasePropertyMap");
15
- /**
16
- * Returns an Array of IPropertyMap objects
17
- * that define the projection of properties from a IModel to an IHubInitiative
18
- * @returns
19
- */
20
- function getPropertyMap() {
21
- const map = getBasePropertyMap_1.getBasePropertyMap();
22
- // Type specific mappings
23
- map.push({ objectKey: "catalog", modelKey: "data.catalog" });
24
- map.push({ objectKey: "permissions", modelKey: "data.permissions" });
25
- return map;
26
- }
14
+ const getPropertyMap_1 = require("./_internal/getPropertyMap");
15
+ const computeProps_1 = require("./_internal/computeProps");
27
16
  /**
28
17
  * @private
29
18
  * Create a new Hub Initiative item
@@ -46,14 +35,14 @@ async function createInitiative(partialInitiative, requestOptions) {
46
35
  // add slug to keywords
47
36
  initiative.typeKeywords = slugs_1.setSlugKeyword(initiative.typeKeywords, initiative.slug);
48
37
  // Map initiative object onto a default initiative Model
49
- const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap());
38
+ const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap_1.getPropertyMap());
50
39
  // create model from object, using the default model as a starting point
51
40
  let model = mapper.objectToModel(initiative, index_1.cloneObject(defaults_1.DEFAULT_INITIATIVE_MODEL));
52
41
  // create the item
53
42
  model = await models_1.createModel(model, requestOptions);
54
43
  // map the model back into a IHubInitiative
55
44
  let newInitiative = mapper.modelToObject(model, {});
56
- newInitiative = computeProps(model, newInitiative, requestOptions);
45
+ newInitiative = computeProps_1.computeProps(model, newInitiative, requestOptions);
57
46
  // and return it
58
47
  return newInitiative;
59
48
  }
@@ -70,7 +59,7 @@ async function updateInitiative(initiative, requestOptions) {
70
59
  // get the backing item & data
71
60
  const model = await models_1.getModel(initiative.id, requestOptions);
72
61
  // create the PropertyMapper
73
- const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap());
62
+ const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap_1.getPropertyMap());
74
63
  // Note: Although we are fetching the model, and applying changes onto it,
75
64
  // we are not attempting to handle "concurrent edit" conflict resolution
76
65
  // but this is where we would apply that sort of logic
@@ -79,7 +68,7 @@ async function updateInitiative(initiative, requestOptions) {
79
68
  const updatedModel = await models_1.updateModel(modelToUpdate, requestOptions);
80
69
  // now map back into an initiative and return that
81
70
  let updatedInitiative = mapper.modelToObject(updatedModel, initiative);
82
- updatedInitiative = computeProps(model, updatedInitiative, requestOptions);
71
+ updatedInitiative = computeProps_1.computeProps(model, updatedInitiative, requestOptions);
83
72
  // the casting is needed because modelToObject returns a `Partial<T>`
84
73
  // where as this function returns a `T`
85
74
  return updatedInitiative;
@@ -129,34 +118,11 @@ exports.deleteInitiative = deleteInitiative;
129
118
  */
130
119
  async function convertItemToInitiative(item, requestOptions) {
131
120
  const model = await models_1.fetchModelFromItem(item, requestOptions);
132
- const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap());
121
+ const mapper = new PropertyMapper_1.PropertyMapper(getPropertyMap_1.getPropertyMap());
133
122
  const prj = mapper.modelToObject(model, {});
134
- return computeProps(model, prj, requestOptions);
123
+ return computeProps_1.computeProps(model, prj, requestOptions);
135
124
  }
136
125
  exports.convertItemToInitiative = convertItemToInitiative;
137
- /**
138
- * Given a model and an initiative, set various computed properties that can't be directly mapped
139
- * @param model
140
- * @param initiative
141
- * @param requestOptions
142
- * @returns
143
- */
144
- function computeProps(model, initiative, requestOptions) {
145
- let token;
146
- if (requestOptions.authentication) {
147
- const session = requestOptions.authentication;
148
- token = session.token;
149
- }
150
- // thumbnail url
151
- initiative.thumbnailUrl = index_1.getItemThumbnailUrl(model.item, requestOptions, token);
152
- // Handle Dates
153
- initiative.createdDate = new Date(model.item.created);
154
- initiative.createdDateSource = "item.created";
155
- initiative.updatedDate = new Date(model.item.modified);
156
- initiative.updatedDateSource = "item.modified";
157
- // cast b/c this takes a partial but returns a full initiative
158
- return initiative;
159
- }
160
126
  /**
161
127
  * @private
162
128
  * Fetch Initiative specific enrichments
@@ -1 +1 @@
1
- {"version":3,"file":"HubInitiatives.js","sourceRoot":"","sources":["../../../src/initiatives/HubInitiatives.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HubInitiatives.js","sourceRoot":"","sources":["../../../src/initiatives/HubInitiatives.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.InitiativePermissionPolicies = exports.InitiativePermissions = exports.InitiativeCapabilityPermissions = exports.InitiativeDefaultCapabilities = void 0;
4
+ /**
5
+ * Default capabilities for a Initiative. 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.InitiativeDefaultCapabilities = {
11
+ overview: true,
12
+ details: true,
13
+ settings: true,
14
+ };
15
+ /**
16
+ * List of all the Initiative Capability Permissions
17
+ * These are considered Hub Business Rules and are not intended
18
+ * to be modified by consumers
19
+ * @private
20
+ */
21
+ exports.InitiativeCapabilityPermissions = [
22
+ {
23
+ entity: "initiative",
24
+ capability: "overview",
25
+ permissions: ["hub:initiative:view"],
26
+ },
27
+ {
28
+ entity: "initiative",
29
+ capability: "details",
30
+ permissions: ["hub:initiative:edit"],
31
+ },
32
+ {
33
+ entity: "initiative",
34
+ capability: "settings",
35
+ permissions: ["hub:initiative:edit"],
36
+ },
37
+ ];
38
+ /**
39
+ * Initiative Permission Policies
40
+ * These define the requirements any user must meet to perform related actions
41
+ * @private
42
+ */
43
+ exports.InitiativePermissions = [
44
+ "hub:initiative:create",
45
+ "hub:initiative:delete",
46
+ "hub:initiative:edit",
47
+ "hub:initiative:view",
48
+ ];
49
+ /**
50
+ * Initiative permission policies
51
+ * @private
52
+ */
53
+ exports.InitiativePermissionPolicies = [
54
+ {
55
+ permission: "hub:initiative:create",
56
+ subsystems: ["projects"],
57
+ authenticated: true,
58
+ privileges: ["portal:user:createItem"],
59
+ licenses: ["hub-premium"],
60
+ },
61
+ {
62
+ permission: "hub:initiative:view",
63
+ subsystems: ["projects"],
64
+ authenticated: false,
65
+ licenses: ["hub-premium"],
66
+ },
67
+ {
68
+ permission: "hub:initiative:edit",
69
+ authenticated: true,
70
+ subsystems: ["projects"],
71
+ entityEdit: true,
72
+ licenses: ["hub-premium"],
73
+ },
74
+ {
75
+ permission: "hub:initiative:delete",
76
+ authenticated: true,
77
+ subsystems: ["projects"],
78
+ entityOwner: true,
79
+ licenses: ["hub-premium"],
80
+ },
81
+ ];
82
+ //# sourceMappingURL=InitiativeBusinessRules.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InitiativeBusinessRules.js","sourceRoot":"","sources":["../../../../src/initiatives/_internal/InitiativeBusinessRules.ts"],"names":[],"mappings":";;;AAMA;;;;;GAKG;AACU,QAAA,6BAA6B,GAAuB;IAC/D,QAAQ,EAAE,IAAI;IACd,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE,IAAI;CACf,CAAC;AAEF;;;;;GAKG;AACU,QAAA,+BAA+B,GAA4B;IACtE;QACE,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,qBAAqB,CAAC;KACrC;IACD;QACE,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,SAAS;QACrB,WAAW,EAAE,CAAC,qBAAqB,CAAC;KACrC;IACD;QACE,MAAM,EAAE,YAAY;QACpB,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,CAAC,qBAAqB,CAAC;KACrC;CACF,CAAC;AAEF;;;;GAIG;AACU,QAAA,qBAAqB,GAAG;IACnC,uBAAuB;IACvB,uBAAuB;IACvB,qBAAqB;IACrB,qBAAqB;CACb,CAAC;AAEX;;;GAGG;AACU,QAAA,4BAA4B,GAAwB;IAC/D;QACE,UAAU,EAAE,uBAAuB;QACnC,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,qBAAqB;QACjC,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,aAAa,EAAE,KAAK;QACpB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,qBAAqB;QACjC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,UAAU,EAAE,IAAI;QAChB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,uBAAuB;QACnC,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,CAAC,UAAU,CAAC;QACxB,WAAW,EAAE,IAAI;QACjB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;CACF,CAAC"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.computeProps = void 0;
4
+ const resources_1 = require("../../resources");
5
+ const capabilities_1 = require("../../capabilities");
6
+ const InitiativeBusinessRules_1 = require("./InitiativeBusinessRules");
7
+ /**
8
+ * Given a model and an Initiative, set various computed properties that can't be directly mapped
9
+ * @private
10
+ * @param model
11
+ * @param initiative
12
+ * @param requestOptions
13
+ * @returns
14
+ */
15
+ function computeProps(model, initiative, requestOptions) {
16
+ var _a;
17
+ let token;
18
+ if (requestOptions.authentication) {
19
+ const session = requestOptions.authentication;
20
+ token = session.token;
21
+ }
22
+ // thumbnail url
23
+ initiative.thumbnailUrl = resources_1.getItemThumbnailUrl(model.item, requestOptions, token);
24
+ // Handle Dates
25
+ initiative.createdDate = new Date(model.item.created);
26
+ initiative.createdDateSource = "item.created";
27
+ initiative.updatedDate = new Date(model.item.modified);
28
+ initiative.updatedDateSource = "item.modified";
29
+ // Handle capabilities
30
+ initiative.capabilities = capabilities_1.processEntityCapabilities(((_a = model.data.settings) === null || _a === void 0 ? void 0 : _a.capabilities) || {}, InitiativeBusinessRules_1.InitiativeDefaultCapabilities);
31
+ // cast b/c this takes a partial but returns a full object
32
+ return initiative;
33
+ }
34
+ exports.computeProps = computeProps;
35
+ //# sourceMappingURL=computeProps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"computeProps.js","sourceRoot":"","sources":["../../../../src/initiatives/_internal/computeProps.ts"],"names":[],"mappings":";;;AAEA,+CAAsD;AACtD,qDAA+D;AAE/D,uEAA0E;AAG1E;;;;;;;GAOG;AACH,SAAgB,YAAY,CAC1B,KAAa,EACb,UAAmC,EACnC,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,UAAU,CAAC,YAAY,GAAG,+BAAmB,CAC3C,KAAK,CAAC,IAAI,EACV,cAAc,EACd,KAAK,CACN,CAAC;IAEF,eAAe;IACf,UAAU,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtD,UAAU,CAAC,iBAAiB,GAAG,cAAc,CAAC;IAC9C,UAAU,CAAC,WAAW,GAAG,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACvD,UAAU,CAAC,iBAAiB,GAAG,eAAe,CAAC;IAE/C,sBAAsB;IACtB,UAAU,CAAC,YAAY,GAAG,wCAAyB,CACjD,OAAA,KAAK,CAAC,IAAI,CAAC,QAAQ,0CAAE,YAAY,KAAI,EAAE,EACvC,uDAA6B,CAC9B,CAAC;IAEF,0DAA0D;IAC1D,OAAO,UAA4B,CAAC;AACtC,CAAC;AA/BD,oCA+BC"}
@@ -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/initiatives/_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"}
@@ -1,14 +1,69 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getPermissionPolicy = exports.HubPermissionsPolicies = void 0;
4
- const ProjectPermissionPolicies_1 = require("../projects/_internal/ProjectPermissionPolicies");
5
- const SitesPermissionPolicies_1 = require("../sites/_internal/SitesPermissionPolicies");
4
+ const InitiativeBusinessRules_1 = require("../initiatives/_internal/InitiativeBusinessRules");
5
+ const ProjectBusinessRules_1 = require("../projects/_internal/ProjectBusinessRules");
6
+ const SiteBusinessRules_1 = require("../sites/_internal/SiteBusinessRules");
7
+ // Examples of possible Permission Policies
8
+ // const DiscussionPermissionPolicies: IPermissionPolicy[] = [
9
+ // {
10
+ // permission: "discussions:channel:create",
11
+ // authenticated: true,
12
+ // subsystems: ["discussions"],
13
+ // licenses: ["hub-basic", "hub-premium"],
14
+ // },
15
+ // {
16
+ // permission: "discussions:channel:createprivate",
17
+ // subsystems: ["discussions"],
18
+ // authenticated: true,
19
+ // licenses: ["hub-basic", "hub-premium"],
20
+ // assertions: [
21
+ // {
22
+ // property: "entity:group.typekeywords",
23
+ // assertion: "without",
24
+ // value: "cannotDiscuss",
25
+ // },
26
+ // {
27
+ // property: "context:currentUser",
28
+ // assertion: "is-group-admin",
29
+ // value: "entity:group.id",
30
+ // },
31
+ // ],
32
+ // },
33
+ // {
34
+ // permission: "discussions:channel:create",
35
+ // subsystems: ["discussions"],
36
+ // authenticated: true,
37
+ // licenses: ["hub-basic", "hub-premium"],
38
+ // assertions: [
39
+ // {
40
+ // property: "entity:typeKeywords",
41
+ // assertion: "without",
42
+ // value: "cannotDiscuss",
43
+ // },
44
+ // ],
45
+ // },
46
+ // {
47
+ // permission: "discussions:post:create",
48
+ // subsystems: ["discussions"],
49
+ // authenticated: true,
50
+ // licenses: ["hub-basic", "hub-premium"],
51
+ // assertions: [
52
+ // {
53
+ // property: "entity:typeKeywords",
54
+ // assertion: "without",
55
+ // value: "cannotDiscuss",
56
+ // },
57
+ // ],
58
+ // },
59
+ // ];
6
60
  /**
7
61
  * All the permission policies for the Hub
8
62
  */
9
63
  exports.HubPermissionsPolicies = [
10
- ...SitesPermissionPolicies_1.SitesPermissionPolicies,
11
- ...ProjectPermissionPolicies_1.ProjectPermissionPolicies,
64
+ ...SiteBusinessRules_1.SitesPermissionPolicies,
65
+ ...ProjectBusinessRules_1.ProjectPermissionPolicies,
66
+ ...InitiativeBusinessRules_1.InitiativePermissionPolicies,
12
67
  ];
13
68
  /**
14
69
  * Get the policies defined for a specific permission
@@ -1 +1 @@
1
- {"version":3,"file":"HubPermissionPolicies.js","sourceRoot":"","sources":["../../../src/permissions/HubPermissionPolicies.ts"],"names":[],"mappings":";;;AAAA,+FAA4F;AAC5F,wFAAqF;AAIrF;;GAEG;AACU,QAAA,sBAAsB,GAAwB;IACzD,GAAG,iDAAuB;IAC1B,GAAG,qDAAyB;CAC7B,CAAC;AAEF;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,UAAsB;IACxD,OAAO,8BAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;AACzE,CAAC;AAFD,kDAEC"}
1
+ {"version":3,"file":"HubPermissionPolicies.js","sourceRoot":"","sources":["../../../src/permissions/HubPermissionPolicies.ts"],"names":[],"mappings":";;;AAAA,8FAAgG;AAChG,qFAAuF;AACvF,4EAA+E;AAI/E,2CAA2C;AAC3C,8DAA8D;AAC9D,MAAM;AACN,gDAAgD;AAChD,2BAA2B;AAC3B,mCAAmC;AACnC,8CAA8C;AAC9C,OAAO;AACP,MAAM;AACN,uDAAuD;AACvD,mCAAmC;AACnC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,iDAAiD;AACjD,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,UAAU;AACV,2CAA2C;AAC3C,uCAAuC;AACvC,oCAAoC;AACpC,WAAW;AACX,SAAS;AACT,OAAO;AACP,MAAM;AACN,gDAAgD;AAChD,mCAAmC;AACnC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,2CAA2C;AAC3C,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,SAAS;AACT,OAAO;AACP,MAAM;AACN,6CAA6C;AAC7C,mCAAmC;AACnC,2BAA2B;AAC3B,8CAA8C;AAC9C,oBAAoB;AACpB,UAAU;AACV,2CAA2C;AAC3C,gCAAgC;AAChC,kCAAkC;AAClC,WAAW;AACX,SAAS;AACT,OAAO;AACP,KAAK;AAEL;;GAEG;AACU,QAAA,sBAAsB,GAAwB;IACzD,GAAG,2CAAuB;IAC1B,GAAG,gDAAyB;IAC5B,GAAG,sDAA4B;CAChC,CAAC;AAEF;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,UAAsB;IACxD,OAAO,8BAAsB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;AACzE,CAAC;AAFD,kDAEC"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkAlphaGating = void 0;
4
+ const getPolicyResponseCode_1 = require("./getPolicyResponseCode");
5
+ /**
6
+ * Validate entityOwner policy
7
+ * @param policy
8
+ * @param context
9
+ * @param entity
10
+ * @returns
11
+ */
12
+ function checkAlphaGating(policy, context, entity) {
13
+ const checks = [];
14
+ // Only return a check if the policy is defined
15
+ if (policy.alpha) {
16
+ const result = context.isAlphaOrg
17
+ ? "granted"
18
+ : "not-alpha-org";
19
+ // create the check
20
+ const check = {
21
+ name: `user in alpha org`,
22
+ value: context.hubLicense,
23
+ code: getPolicyResponseCode_1.getPolicyResponseCode(result),
24
+ response: result,
25
+ };
26
+ checks.push(check);
27
+ }
28
+ return checks;
29
+ }
30
+ exports.checkAlphaGating = checkAlphaGating;
31
+ //# sourceMappingURL=checkAlphaGating.js.map
@@ -0,0 +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"}
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkAssertion = void 0;
4
+ const objects_1 = require("../../objects");
5
+ const utils_1 = require("../../utils");
6
+ const getPolicyResponseCode_1 = require("./getPolicyResponseCode");
7
+ /**
8
+ * Check a specific EntityAssertion
9
+ * Exported purely for testing. Not exported from the package.
10
+ * @param assertion
11
+ * @param entity
12
+ * @param context
13
+ * @returns
14
+ */
15
+ function checkAssertion(assertion, entity, context) {
16
+ let response = "granted";
17
+ // construct a hash to look up properties in
18
+ const lookupHash = { entity, context };
19
+ // get the property value
20
+ const propertyLookup = parseProperty(assertion.property);
21
+ const propValue = objects_1.getProp(lookupHash, propertyLookup.path);
22
+ // If prop is undefined, then the assertion fails
23
+ if (propValue === undefined) {
24
+ response = "assertion-property-not-found";
25
+ }
26
+ let val = assertion.value;
27
+ if (typeof val === "string" && val.indexOf(":") > -1) {
28
+ const valueLookup = parseProperty(assertion.value);
29
+ val = objects_1.getProp(lookupHash, valueLookup.path);
30
+ if (val === undefined) {
31
+ response = "assertion-property-not-found";
32
+ }
33
+ }
34
+ // if we have the two values, we can make the assertion
35
+ if (propValue !== undefined && val !== undefined) {
36
+ // TODO: Should these fns return IPolicyCheck? or just the response?
37
+ // TODO: Should these fns inspect the type internally? or switch case here?
38
+ switch (assertion.type) {
39
+ case "eq":
40
+ case "neq":
41
+ response = equalityAssertions(assertion, propValue, val);
42
+ break;
43
+ case "contains":
44
+ case "without":
45
+ response = arrayAssertions(assertion, propValue, val);
46
+ break;
47
+ case "included-in":
48
+ response = includeAssertions(assertion, propValue, val);
49
+ break;
50
+ case "gt":
51
+ case "lt":
52
+ response = rangeAssertions(assertion, propValue, val);
53
+ break;
54
+ case "is-group-admin":
55
+ case "is-group-member":
56
+ case "is-group-owner":
57
+ response = groupAssertions(assertion, propValue, val, context);
58
+ break;
59
+ }
60
+ }
61
+ const result = {
62
+ name: `assertion: ${assertion.property} ${assertion.type} ${assertion.value}`,
63
+ value: propValue,
64
+ code: getPolicyResponseCode_1.getPolicyResponseCode(response),
65
+ response,
66
+ };
67
+ return result;
68
+ }
69
+ exports.checkAssertion = checkAssertion;
70
+ function groupAssertions(assertion, propValue, val, context) {
71
+ let response = "granted";
72
+ const userGroups = context.currentUser.groups || [];
73
+ // Default the groups to all groups the user is a member of
74
+ let groups = utils_1.mapBy("id", userGroups);
75
+ let failResponse = "user-not-group-member";
76
+ if (assertion.type === "is-group-member") {
77
+ failResponse = "user-not-group-member";
78
+ // no need to filter - this is anyone who's a member
79
+ groups = filterByMembershipType(userGroups, ["admin", "owner", "member"]);
80
+ }
81
+ if (assertion.type === "is-group-admin") {
82
+ failResponse = "user-not-group-manager";
83
+ groups = filterByMembershipType(userGroups, ["admin", "owner"]);
84
+ }
85
+ if (assertion.type === "is-group-owner") {
86
+ failResponse = "user-not-group-owner";
87
+ groups = filterByMembershipType(userGroups, ["owner"]);
88
+ }
89
+ // now, see if the val is in the groups array
90
+ if (!groups.includes(val)) {
91
+ // send a specific response
92
+ response = failResponse;
93
+ }
94
+ return response;
95
+ }
96
+ function filterByMembershipType(groups, types) {
97
+ return groups.reduce((acc, grp) => {
98
+ if (types.includes(grp.userMembership.memberType)) {
99
+ acc.push(grp.id);
100
+ }
101
+ return acc;
102
+ }, []);
103
+ }
104
+ /**
105
+ * Is the propValue included in the val array?
106
+ * @param assertion
107
+ * @param propValue
108
+ * @param val
109
+ * @returns
110
+ */
111
+ function includeAssertions(assertion, propValue, val) {
112
+ let response = "granted";
113
+ if (!Array.isArray(val)) {
114
+ response = "property-not-array";
115
+ }
116
+ else {
117
+ const arrayVal = val;
118
+ if (!arrayVal.includes(propValue)) {
119
+ response = "array-missing-required-value";
120
+ }
121
+ }
122
+ return response;
123
+ }
124
+ /**
125
+ * Is the propValue "eq" or "neq" to the val?
126
+ * @param assertion
127
+ * @param propValue
128
+ * @param val
129
+ * @returns
130
+ */
131
+ function equalityAssertions(assertion, propValue, val) {
132
+ let response = "granted";
133
+ if (assertion.type === "eq" && propValue !== val) {
134
+ response = "assertion-failed";
135
+ }
136
+ else if (assertion.type === "neq" && propValue === val) {
137
+ response = "assertion-failed";
138
+ }
139
+ return response;
140
+ }
141
+ /**
142
+ * Is the propValue "gt" or "lt" to the val?
143
+ * @param assertion
144
+ * @param propValue
145
+ * @param val
146
+ * @returns
147
+ */
148
+ function rangeAssertions(assertion, propValue, val) {
149
+ let response = "granted";
150
+ if (typeof propValue !== "number" || typeof val !== "number") {
151
+ response = "assertion-requires-numeric-values";
152
+ }
153
+ if (assertion.type === "gt" && propValue < val) {
154
+ response = "assertion-failed";
155
+ }
156
+ else if (assertion.type === "lt" && propValue > val) {
157
+ response = "assertion-failed";
158
+ }
159
+ return response;
160
+ }
161
+ /**
162
+ * Does the propValue array "contain" or "without" the val?
163
+ * @param assertion
164
+ * @param propValue
165
+ * @param val
166
+ * @returns
167
+ */
168
+ function arrayAssertions(assertion, propValue, val) {
169
+ let response = "granted";
170
+ if (!Array.isArray(propValue)) {
171
+ response = "property-not-array";
172
+ }
173
+ else {
174
+ const arrayProp = propValue;
175
+ const arrayContainsValue = arrayProp.includes(val);
176
+ if (assertion.type === "contains" && !arrayContainsValue) {
177
+ response = "array-missing-required-value";
178
+ }
179
+ if (assertion.type === "without" && arrayContainsValue) {
180
+ response = "array-contains-invalid-value";
181
+ }
182
+ }
183
+ return response;
184
+ }
185
+ function parseProperty(property) {
186
+ let root = "entity";
187
+ let path = `entity.${property}`;
188
+ if (property.indexOf(":") > -1) {
189
+ root = property.split(":")[0];
190
+ path = `${root}.${property.split(":")[1]}`;
191
+ }
192
+ return { root, path };
193
+ }
194
+ //# sourceMappingURL=checkAssertion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkAssertion.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkAssertion.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkAssertions = void 0;
4
+ const checkAssertion_1 = require("./checkAssertion");
5
+ /**
6
+ * Validate entityOwner policy
7
+ * @param policy
8
+ * @param context
9
+ * @param entity
10
+ * @returns
11
+ */
12
+ function checkAssertions(policy, context, entity) {
13
+ let checks = [];
14
+ // Only return a check if the policy is defined
15
+ if (policy.assertions) {
16
+ // iterate over the assertions, creating a check for each entry
17
+ checks = policy.assertions.map((assertion) => {
18
+ return checkAssertion_1.checkAssertion(assertion, entity, context);
19
+ });
20
+ }
21
+ return checks;
22
+ }
23
+ exports.checkAssertions = checkAssertions;
24
+ //# sourceMappingURL=checkAssertions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkAssertions.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkAssertions.ts"],"names":[],"mappings":";;;AAEA,qDAAkD;AAElD;;;;;;GAMG;AACH,SAAgB,eAAe,CAC7B,MAAyB,EACzB,OAAuB,EACvB,MAA4B;IAE5B,IAAI,MAAM,GAAG,EAAoB,CAAC;IAClC,+CAA+C;IAC/C,IAAI,MAAM,CAAC,UAAU,EAAE;QACrB,+DAA+D;QAC/D,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAA2B,EAAE,EAAE;YAC7D,OAAO,+BAAc,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;KACJ;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAfD,0CAeC"}