@esri/hub-common 14.2.0 → 14.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/esm/ArcGISContext.js +1 -0
  2. package/dist/esm/ArcGISContext.js.map +1 -1
  3. package/dist/esm/ArcGISContextManager.js +1 -1
  4. package/dist/esm/ArcGISContextManager.js.map +1 -1
  5. package/dist/esm/permissions/_internal/PermissionCheckFunction.js +1 -0
  6. package/dist/esm/permissions/_internal/PermissionCheckFunction.js.map +1 -0
  7. package/dist/esm/permissions/_internal/checkAuthentication.js +1 -1
  8. package/dist/esm/permissions/_internal/checkAuthentication.js.map +1 -1
  9. package/dist/esm/permissions/_internal/checkEntityFeature.js +3 -0
  10. package/dist/esm/permissions/_internal/checkEntityFeature.js.map +1 -1
  11. package/dist/esm/permissions/_internal/checkLicense.js +1 -1
  12. package/dist/esm/permissions/_internal/checkLicense.js.map +1 -1
  13. package/dist/esm/permissions/_internal/checkPrivileges.js +2 -2
  14. package/dist/esm/permissions/_internal/checkPrivileges.js.map +1 -1
  15. package/dist/esm/permissions/_internal/getPolicyResponseCode.js +3 -0
  16. package/dist/esm/permissions/_internal/getPolicyResponseCode.js.map +1 -1
  17. package/dist/esm/permissions/checkPermission.js +132 -68
  18. package/dist/esm/permissions/checkPermission.js.map +1 -1
  19. package/dist/esm/projects/_internal/ProjectBusinessRules.js +1 -0
  20. package/dist/esm/projects/_internal/ProjectBusinessRules.js.map +1 -1
  21. package/dist/node/ArcGISContext.js +1 -0
  22. package/dist/node/ArcGISContext.js.map +1 -1
  23. package/dist/node/ArcGISContextManager.js +1 -1
  24. package/dist/node/ArcGISContextManager.js.map +1 -1
  25. package/dist/node/permissions/_internal/PermissionCheckFunction.js +3 -0
  26. package/dist/node/permissions/_internal/PermissionCheckFunction.js.map +1 -0
  27. package/dist/node/permissions/_internal/checkAuthentication.js +1 -1
  28. package/dist/node/permissions/_internal/checkAuthentication.js.map +1 -1
  29. package/dist/node/permissions/_internal/checkEntityFeature.js +3 -0
  30. package/dist/node/permissions/_internal/checkEntityFeature.js.map +1 -1
  31. package/dist/node/permissions/_internal/checkLicense.js +1 -1
  32. package/dist/node/permissions/_internal/checkLicense.js.map +1 -1
  33. package/dist/node/permissions/_internal/checkPrivileges.js +2 -2
  34. package/dist/node/permissions/_internal/checkPrivileges.js.map +1 -1
  35. package/dist/node/permissions/_internal/getPolicyResponseCode.js +3 -0
  36. package/dist/node/permissions/_internal/getPolicyResponseCode.js.map +1 -1
  37. package/dist/node/permissions/checkPermission.js +134 -70
  38. package/dist/node/permissions/checkPermission.js.map +1 -1
  39. package/dist/node/projects/_internal/ProjectBusinessRules.js +1 -0
  40. package/dist/node/projects/_internal/ProjectBusinessRules.js.map +1 -1
  41. package/dist/types/ArcGISContext.d.ts +1 -1
  42. package/dist/types/permissions/_internal/PermissionCheckFunction.d.ts +7 -0
  43. package/dist/types/permissions/_internal/checkAuthentication.d.ts +1 -1
  44. package/dist/types/permissions/_internal/checkLicense.d.ts +1 -1
  45. package/dist/types/permissions/_internal/checkPrivileges.d.ts +2 -2
  46. package/dist/types/permissions/checkPermission.d.ts +2 -1
  47. package/dist/types/permissions/types/IPermissionPolicy.d.ts +0 -4
  48. package/dist/types/permissions/types/PolicyResponse.d.ts +1 -1
  49. package/package.json +1 -1
  50. package/dist/esm/permissions/_internal/checkAlphaGating.js +0 -29
  51. package/dist/esm/permissions/_internal/checkAlphaGating.js.map +0 -1
  52. package/dist/node/permissions/_internal/checkAlphaGating.js +0 -33
  53. package/dist/node/permissions/_internal/checkAlphaGating.js.map +0 -1
  54. package/dist/types/permissions/_internal/checkAlphaGating.d.ts +0 -10
@@ -3,6 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.checkEntityFeature = void 0;
4
4
  const get_with_default_1 = require("../../objects/get-with-default");
5
5
  const getPolicyResponseCode_1 = require("./getPolicyResponseCode");
6
+ // NOTE: Entity Feature Flagging is handled in checkPermission directly
7
+ // as it needs to interact with the feature flagging, and depending on
8
+ // the outcome, possibly omit some of the checks
6
9
  function checkEntityFeature(policy, _entitycontext, entity) {
7
10
  const checks = [];
8
11
  // Only check things if the policy can be configured by the entity
@@ -1 +1 @@
1
- {"version":3,"file":"checkEntityFeature.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkEntityFeature.ts"],"names":[],"mappings":";;;AACA,qEAAgE;AAIhE,mEAAgE;AAEhE,SAAgB,kBAAkB,CAChC,MAAyB,EACzB,cAA8B,EAC9B,MAA4B;IAE5B,MAAM,MAAM,GAAG,EAAoB,CAAC;IACpC,kEAAkE;IAClE,oEAAoE;IACpE,IAAI,MAAM,IAAI,MAAM,CAAC,kBAAkB,EAAE;QACvC,MAAM,MAAM,GAAG,iBAAmC,CAAC;QACnD,uCAAuC;QACvC,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,wBAAwB;YAC9B,KAAK,EAAE,kBAAkB,MAAM,CAAC,UAAU,QAAQ;YAClD,IAAI,EAAE,6CAAqB,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,MAAM;SACjB,CAAC;QAEF,oEAAoE;QACpE,MAAM,gBAAgB,GAAG,iCAAc,CACrC,MAAM,EACN,YAAY,MAAM,CAAC,UAAU,EAAE,EAC/B,IAAI,CACL,CAAC;QACF,IAAI,CAAC,gBAAgB,EAAE;YACrB,KAAK,CAAC,QAAQ,GAAG,kBAAkB,CAAC;YACpC,KAAK,CAAC,IAAI,GAAG,6CAAqB,CAAC,kBAAkB,CAAC,CAAC;SACxD;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AA/BD,gDA+BC"}
1
+ {"version":3,"file":"checkEntityFeature.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkEntityFeature.ts"],"names":[],"mappings":";;;AACA,qEAAgE;AAIhE,mEAAgE;AAEhE,uEAAuE;AACvE,sEAAsE;AACtE,gDAAgD;AAChD,SAAgB,kBAAkB,CAChC,MAAyB,EACzB,cAA8B,EAC9B,MAA4B;IAE5B,MAAM,MAAM,GAAG,EAAoB,CAAC;IACpC,kEAAkE;IAClE,oEAAoE;IACpE,IAAI,MAAM,IAAI,MAAM,CAAC,kBAAkB,EAAE;QACvC,MAAM,MAAM,GAAG,iBAAmC,CAAC;QACnD,uCAAuC;QACvC,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,wBAAwB;YAC9B,KAAK,EAAE,kBAAkB,MAAM,CAAC,UAAU,QAAQ;YAClD,IAAI,EAAE,6CAAqB,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,MAAM;SACjB,CAAC;QAEF,oEAAoE;QACpE,MAAM,gBAAgB,GAAG,iCAAc,CACrC,MAAM,EACN,YAAY,MAAM,CAAC,UAAU,EAAE,EAC/B,IAAI,CACL,CAAC;QACF,IAAI,CAAC,gBAAgB,EAAE;YACrB,KAAK,CAAC,QAAQ,GAAG,kBAAkB,CAAC;YACpC,KAAK,CAAC,IAAI,GAAG,6CAAqB,CAAC,kBAAkB,CAAC,CAAC;SACxD;QACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AA/BD,gDA+BC"}
@@ -9,7 +9,7 @@ const getPolicyResponseCode_1 = require("./getPolicyResponseCode");
9
9
  * @param context
10
10
  * @returns
11
11
  */
12
- function checkLicense(policy, context, entity) {
12
+ function checkLicense(policy, context, _entity) {
13
13
  var _a;
14
14
  const checks = [];
15
15
  // Only return a check if the policy is defined
@@ -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,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
+ {"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,OAA6B;;IAE7B,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"}
@@ -6,10 +6,10 @@ const getPolicyResponseCode_1 = require("./getPolicyResponseCode");
6
6
  * Validate privilege policy
7
7
  * @param policy
8
8
  * @param context
9
- * @param entity
9
+ * @param _entity
10
10
  * @returns
11
11
  */
12
- function checkPrivileges(policy, context, entity) {
12
+ function checkPrivileges(policy, context, _entity) {
13
13
  var _a;
14
14
  let checks = [];
15
15
  // Only return a check if the policy is defined
@@ -1 +1 @@
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"}
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,OAA6B;;IAE7B,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"}
@@ -41,6 +41,9 @@ const policyResponseCodes = [
41
41
  { response: "not-in-environment", code: "PC134" },
42
42
  { response: "feature-disabled", code: "PC135" },
43
43
  { response: "feature-enabled", code: "PC136" },
44
+ { response: "no-policy-exists", code: "PC137" },
45
+ { response: "disabled-by-entity-flag", code: "PC137" },
46
+ { response: "disabled-by-feature-flag", code: "PC137" },
44
47
  ];
45
48
  /**
46
49
  * Get a code that can be used for i18n or other purposes, based on the PolicyResponse
@@ -1 +1 @@
1
- {"version":3,"file":"getPolicyResponseCode.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/getPolicyResponseCode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getPolicyResponseCode.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/getPolicyResponseCode.ts"],"names":[],"mappings":"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"}
@@ -4,10 +4,9 @@ exports.checkPermission = void 0;
4
4
  const objects_1 = require("../objects");
5
5
  const checkLicense_1 = require("./_internal/checkLicense");
6
6
  const HubPermissionPolicies_1 = require("./HubPermissionPolicies");
7
- const types_1 = require("./types");
7
+ const Permission_1 = require("./types/Permission");
8
8
  const getPolicyResponseCode_1 = require("./_internal/getPolicyResponseCode");
9
9
  const checkAuthentication_1 = require("./_internal/checkAuthentication");
10
- const checkAlphaGating_1 = require("./_internal/checkAlphaGating");
11
10
  const checkOwner_1 = require("./_internal/checkOwner");
12
11
  const checkEdit_1 = require("./_internal/checkEdit");
13
12
  const checkPrivileges_1 = require("./_internal/checkPrivileges");
@@ -16,7 +15,6 @@ const checkAssertions_1 = require("./_internal/checkAssertions");
16
15
  const checkParents_1 = require("./_internal/checkParents");
17
16
  const checkEnvironment_1 = require("./_internal/checkEnvironment");
18
17
  const checkAvailability_1 = require("./_internal/checkAvailability");
19
- const checkEntityFeature_1 = require("./_internal/checkEntityFeature");
20
18
  const checkServiceStatus_1 = require("./_internal/checkServiceStatus");
21
19
  /**
22
20
  * Check a permission against the system policies, and possibly an entity policy
@@ -28,93 +26,159 @@ const checkServiceStatus_1 = require("./_internal/checkServiceStatus");
28
26
  * @returns
29
27
  */
30
28
  function checkPermission(permission, context, entityOrOptions) {
29
+ var _a;
31
30
  const label = (entityOrOptions === null || entityOrOptions === void 0 ? void 0 : entityOrOptions.label) || "";
32
31
  const entity = (entityOrOptions === null || entityOrOptions === void 0 ? void 0 : entityOrOptions.entity) || entityOrOptions;
33
- // Default to granted
34
- let response = {
35
- policy: permission,
36
- access: true,
37
- response: "granted",
38
- code: getPolicyResponseCode_1.getPolicyResponseCode("granted"),
39
- checks: [],
40
- };
41
32
  // Is this even a valid permission?
42
- if (!types_1.isPermission(permission)) {
43
- response = {
33
+ if (!Permission_1.isPermission(permission)) {
34
+ const invalidPermissionResponse = {
44
35
  policy: permission,
45
36
  access: false,
46
37
  response: "invalid-permission",
47
38
  code: getPolicyResponseCode_1.getPolicyResponseCode("invalid-permission"),
48
39
  checks: [],
49
40
  };
41
+ logResponse(invalidPermissionResponse, label);
42
+ return invalidPermissionResponse;
43
+ }
44
+ // Get the system policy for this permission
45
+ const systemPolicy = HubPermissionPolicies_1.getPermissionPolicy(permission);
46
+ // handle null systemPolicy
47
+ if (!systemPolicy) {
48
+ const missingPolicyResponse = {
49
+ policy: permission,
50
+ access: false,
51
+ response: "no-policy-exists",
52
+ code: getPolicyResponseCode_1.getPolicyResponseCode("no-policy-exists"),
53
+ checks: [],
54
+ };
55
+ logResponse(missingPolicyResponse, label);
56
+ return missingPolicyResponse;
57
+ }
58
+ const flagging = {
59
+ hasFlag: false,
60
+ value: false,
61
+ type: "none",
62
+ };
63
+ // Entity Feature Flags
64
+ // aka how we disable "features" on a per-entity basis
65
+ // Is this policy configurable by the entity?
66
+ if (systemPolicy.entityConfigurable) {
67
+ // Has the entity provided a flag value?
68
+ if ((_a = entity === null || entity === void 0 ? void 0 : entity.features) === null || _a === void 0 ? void 0 : _a.hasOwnProperty(permission)) {
69
+ flagging.hasFlag = true;
70
+ flagging.value = entity.features[permission];
71
+ flagging.type = "entity";
72
+ }
73
+ }
74
+ // Feature Flags
75
+ // Passed in from the application when context is created,
76
+ // these override entity flags, so they are checked after
77
+ if (context.featureFlags.hasOwnProperty(permission)) {
78
+ flagging.hasFlag = true;
79
+ flagging.value = context.featureFlags[permission];
80
+ flagging.type = "feature";
81
+ }
82
+ // in all cases, if flag exists and false, access is denied
83
+ if (flagging.hasFlag && !flagging.value) {
84
+ const respValue = `disabled-by-${flagging.type}-flag`;
85
+ const disabledByFlagResponse = {
86
+ policy: permission,
87
+ access: false,
88
+ response: respValue,
89
+ code: getPolicyResponseCode_1.getPolicyResponseCode(respValue),
90
+ checks: [],
91
+ };
92
+ logResponse(disabledByFlagResponse, label);
93
+ return disabledByFlagResponse;
94
+ }
95
+ // required checks - things feature flags can not override
96
+ const requiredChecks = [
97
+ checkParents_1.checkParents,
98
+ checkServiceStatus_1.checkServiceStatus,
99
+ checkAuthentication_1.checkAuthentication,
100
+ checkPrivileges_1.checkPrivileges,
101
+ checkOwner_1.checkOwner,
102
+ checkEdit_1.checkEdit,
103
+ checkLicense_1.checkLicense,
104
+ checkAssertions_1.checkAssertions,
105
+ ];
106
+ // checks that feature flags can override
107
+ const overridableChecks = [
108
+ checkAvailability_1.checkAvailability,
109
+ checkEnvironment_1.checkEnvironment,
110
+ ];
111
+ let checkFns = [];
112
+ // If there is a "feature" flag, set to true, for the policy
113
+ // we just run the required checks
114
+ if (flagging.hasFlag && flagging.value && flagging.type === "feature") {
115
+ checkFns = [...requiredChecks];
50
116
  }
51
117
  else {
52
- // Get the system policy for this permission
53
- const systemPolicy = HubPermissionPolicies_1.getPermissionPolicy(permission);
54
- // TODO: handle null systemPolicy
55
- const checks = [
56
- checkParents_1.checkParents,
57
- checkServiceStatus_1.checkServiceStatus,
58
- checkEntityFeature_1.checkEntityFeature,
59
- checkAuthentication_1.checkAuthentication,
60
- checkEnvironment_1.checkEnvironment,
61
- checkAvailability_1.checkAvailability,
62
- checkLicense_1.checkLicense,
63
- checkPrivileges_1.checkPrivileges,
64
- checkOwner_1.checkOwner,
65
- checkEdit_1.checkEdit,
66
- checkAssertions_1.checkAssertions,
67
- checkAlphaGating_1.checkAlphaGating,
68
- ].reduce((acc, fn) => {
69
- acc = [...acc, ...fn(systemPolicy, context, entity)];
70
- return acc;
71
- }, []);
72
- // For system policies, all conditions must be met, so we can
73
- // iterate through the checks and set the response to the first failure
74
- // while still returning all the checks for observability
75
- checks.forEach((check) => {
76
- if (check.response !== "granted" && response.response === "granted") {
77
- response.response = check.response;
78
- response.code = check.code;
79
- response.access = false;
80
- }
118
+ // otherwise we run all the checks
119
+ checkFns = [...overridableChecks, ...requiredChecks];
120
+ }
121
+ // execute the checks
122
+ const checks = checkFns.reduce((acc, fn) => {
123
+ acc = [...acc, ...fn(systemPolicy, context, entity)];
124
+ return acc;
125
+ }, []);
126
+ // Default to granted
127
+ const response = {
128
+ policy: permission,
129
+ access: true,
130
+ response: "granted",
131
+ code: getPolicyResponseCode_1.getPolicyResponseCode("granted"),
132
+ checks: [],
133
+ };
134
+ // For system policies, all conditions must be met, so we can
135
+ // iterate through the checks and set the response to the first failure
136
+ // while still returning all the checks for observability
137
+ checks.forEach((check) => {
138
+ if (check.response !== "granted" && response.response === "granted") {
139
+ response.response = check.response;
140
+ response.code = check.code;
141
+ response.access = false;
142
+ }
143
+ });
144
+ response.checks = checks;
145
+ // Entity policies are treated as "grants" so we only need to pass one
146
+ if (entity) {
147
+ const entityPolicies = objects_1.getWithDefault(entity, "permissions", []);
148
+ const entityPermissionPolicies = entityPolicies.filter((e) => e.permission === permission);
149
+ // Entity Policies are "grants" in that only one needs to pass
150
+ // but we still want each check returned so we can see why they
151
+ // got access or got denied
152
+ const entityChecks = entityPermissionPolicies.map((policy) => {
153
+ return checkEntityPolicy_1.checkEntityPolicy(policy, context);
81
154
  });
82
- response.checks = checks;
83
- // Entity policies are treated as "grants" so we only need to pass one
84
- if (entity) {
85
- const entityPolicies = objects_1.getWithDefault(entity, "permissions", []);
86
- const entityPermissionPolicies = entityPolicies.filter((e) => e.permission === permission);
87
- // Entity Policies are "grants" in that only one needs to pass
88
- // but we still want each check returned so we can see why they
89
- // got access or got denied
90
- const entityChecks = entityPermissionPolicies.map((policy) => {
91
- return checkEntityPolicy_1.checkEntityPolicy(policy, context);
92
- });
93
- // Process them to see if any grant access
94
- const grantedCheck = entityChecks.find((e) => e.response === "granted");
95
- // If we did not find a check that grants access, AND we've passed
96
- // all the system checks, then we set the response to "not-granted"
97
- // and set the access to false
98
- if (entityChecks.length &&
99
- !grantedCheck &&
100
- response.response === "granted") {
101
- response.access = false;
102
- response.response = "not-granted";
103
- }
104
- // Merge in the entity checks...
105
- response.checks = [...response.checks, ...entityChecks];
155
+ // Process them to see if any grant access
156
+ const grantedCheck = entityChecks.find((e) => e.response === "granted");
157
+ // If we did not find a check that grants access, AND we've passed
158
+ // all the system checks, then we set the response to "not-granted"
159
+ // and set the access to false
160
+ if (entityChecks.length &&
161
+ !grantedCheck &&
162
+ response.response === "granted") {
163
+ response.access = false;
164
+ response.response = "not-granted";
106
165
  }
166
+ // Merge in the entity checks...
167
+ response.checks = [...response.checks, ...entityChecks];
107
168
  }
108
- // log denied access information
169
+ // log response
170
+ logResponse(response, label);
171
+ return response;
172
+ }
173
+ exports.checkPermission = checkPermission;
174
+ function logResponse(response, label) {
109
175
  if (!response.access) {
110
176
  // tslint:disable-next-line:no-console
111
- console.info(`checkPermission: ${label} ${permission} : ${response.response}`);
177
+ console.info(`checkPermission: ${label} ${response.policy} : ${response.response}`);
112
178
  // tslint:disable-next-line:no-console
113
179
  console.dir(response);
114
180
  // tslint:disable-next-line:no-console
115
181
  console.info(`-----------------------------------------`);
116
182
  }
117
- return response;
118
183
  }
119
- exports.checkPermission = checkPermission;
120
184
  //# sourceMappingURL=checkPermission.js.map
@@ -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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"}
@@ -74,6 +74,7 @@ exports.ProjectPermissionPolicies = [
74
74
  {
75
75
  permission: "hub:project:events",
76
76
  dependencies: ["hub:project:view"],
77
+ entityConfigurable: true,
77
78
  },
78
79
  {
79
80
  permission: "hub:project:content",
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectBusinessRules.js","sourceRoot":"","sources":["../../../../src/projects/_internal/ProjectBusinessRules.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACU,QAAA,sBAAsB,GAAkB;IACnD,oBAAoB,EAAE,KAAK;IAC3B,qBAAqB,EAAE,IAAI;IAC3B,yBAAyB,EAAE,KAAK;CACjC,CAAC;AAEF;;;;GAIG;AACU,QAAA,kBAAkB,GAAG;IAChC,aAAa;IACb,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,oBAAoB;IACpB,qBAAqB;IACrB,yBAAyB;IACzB,gCAAgC;IAChC,iCAAiC;IACjC,+BAA+B;IAC/B,gCAAgC;IAChC,qCAAqC;IACrC,+BAA+B;IAC/B,+BAA+B;CACvB,CAAC;AAEX;;;GAGG;AACU,QAAA,yBAAyB,GAAwB;IAC5D;QACE,UAAU,EAAE,aAAa;QACzB,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,CAAC,aAAa,CAAC;QAC7B,UAAU,EAAE,CAAC,wBAAwB,CAAC;KACvC;IACD;QACE,4BAA4B;QAC5B,UAAU,EAAE,kBAAkB;QAC9B,QAAQ,EAAE,CAAC,QAAQ,CAAC;KACrB;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,YAAY,EAAE,CAAC,aAAa,CAAC;QAC7B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;KACjB;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,YAAY,EAAE,CAAC,aAAa,CAAC;QAC7B,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,mBAAmB;QAC/B,YAAY,EAAE,CAAC,aAAa,CAAC;QAC7B,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,qBAAqB;QACjC,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,yBAAyB;QACrC,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,gCAAgC;QAC5C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,iCAAiC;QAC7C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,+BAA+B;QAC3C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,gCAAgC;QAC5C,YAAY,EAAE,CAAC,kBAAkB,CAAC;QAClC,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,qCAAqC;QACjD,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,+BAA+B;QAC3C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,+BAA+B;QAC3C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;CACF,CAAC"}
1
+ {"version":3,"file":"ProjectBusinessRules.js","sourceRoot":"","sources":["../../../../src/projects/_internal/ProjectBusinessRules.ts"],"names":[],"mappings":";;;AAEA;;GAEG;AACU,QAAA,sBAAsB,GAAkB;IACnD,oBAAoB,EAAE,KAAK;IAC3B,qBAAqB,EAAE,IAAI;IAC3B,yBAAyB,EAAE,KAAK;CACjC,CAAC;AAEF;;;;GAIG;AACU,QAAA,kBAAkB,GAAG;IAChC,aAAa;IACb,oBAAoB;IACpB,oBAAoB;IACpB,kBAAkB;IAClB,kBAAkB;IAClB,mBAAmB;IACnB,oBAAoB;IACpB,qBAAqB;IACrB,yBAAyB;IACzB,gCAAgC;IAChC,iCAAiC;IACjC,+BAA+B;IAC/B,gCAAgC;IAChC,qCAAqC;IACrC,+BAA+B;IAC/B,+BAA+B;CACvB,CAAC;AAEX;;;GAGG;AACU,QAAA,yBAAyB,GAAwB;IAC5D;QACE,UAAU,EAAE,aAAa;QACzB,QAAQ,EAAE,CAAC,QAAQ,CAAC;QACpB,QAAQ,EAAE,CAAC,aAAa,CAAC;KAC1B;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,aAAa,EAAE,IAAI;QACnB,YAAY,EAAE,CAAC,aAAa,CAAC;QAC7B,UAAU,EAAE,CAAC,wBAAwB,CAAC;KACvC;IACD;QACE,4BAA4B;QAC5B,UAAU,EAAE,kBAAkB;QAC9B,QAAQ,EAAE,CAAC,QAAQ,CAAC;KACrB;IACD;QACE,UAAU,EAAE,kBAAkB;QAC9B,YAAY,EAAE,CAAC,aAAa,CAAC;QAC7B,aAAa,EAAE,IAAI;QACnB,UAAU,EAAE,IAAI;KACjB;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,YAAY,EAAE,CAAC,aAAa,CAAC;QAC7B,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,mBAAmB;QAC/B,YAAY,EAAE,CAAC,aAAa,CAAC;QAC7B,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,oBAAoB;QAChC,YAAY,EAAE,CAAC,kBAAkB,CAAC;QAClC,kBAAkB,EAAE,IAAI;KACzB;IACD;QACE,UAAU,EAAE,qBAAqB;QACjC,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,yBAAyB;QACrC,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,gCAAgC;QAC5C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,iCAAiC;QAC7C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,+BAA+B;QAC3C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,gCAAgC;QAC5C,YAAY,EAAE,CAAC,kBAAkB,CAAC;QAClC,WAAW,EAAE,IAAI;KAClB;IACD;QACE,UAAU,EAAE,qCAAqC;QACjD,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,+BAA+B;QAC3C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;IACD;QACE,UAAU,EAAE,+BAA+B;QAC3C,YAAY,EAAE,CAAC,kBAAkB,CAAC;KACnC;CACF,CAAC"}
@@ -161,7 +161,7 @@ export interface IArcGISContext {
161
161
  /**
162
162
  * Hash of feature flags
163
163
  */
164
- featureFlags?: IFeatureFlags;
164
+ featureFlags: IFeatureFlags;
165
165
  }
166
166
  /**
167
167
  * Options for the ArcGISContext constructor
@@ -0,0 +1,7 @@
1
+ import { IArcGISContext } from "../../ArcGISContext";
2
+ import { IPermissionPolicy } from "../types/IPermissionPolicy";
3
+ import { IPolicyCheck } from "../types/IPolicyCheck";
4
+ /**
5
+ * Type signature for Permission Check Functions
6
+ */
7
+ export declare type PermissionCheckFunction = (policy: IPermissionPolicy, context: IArcGISContext, entity?: Record<string, any>) => IPolicyCheck[];
@@ -7,4 +7,4 @@ import { IPermissionPolicy, IPolicyCheck } from "../types";
7
7
  * @param entity
8
8
  * @returns
9
9
  */
10
- export declare function checkAuthentication(policy: IPermissionPolicy, context: IArcGISContext, entity?: Record<string, any>): IPolicyCheck[];
10
+ export declare function checkAuthentication(policy: IPermissionPolicy, context: IArcGISContext, _entity?: Record<string, any>): IPolicyCheck[];
@@ -7,4 +7,4 @@ import { IPermissionPolicy, IPolicyCheck } from "../types";
7
7
  * @param context
8
8
  * @returns
9
9
  */
10
- export declare function checkLicense(policy: IPermissionPolicy, context: IArcGISContext, entity?: Record<string, any>): IPolicyCheck[];
10
+ export declare function checkLicense(policy: IPermissionPolicy, context: IArcGISContext, _entity?: Record<string, any>): IPolicyCheck[];
@@ -4,7 +4,7 @@ import { IPermissionPolicy, IPolicyCheck } from "../types";
4
4
  * Validate privilege policy
5
5
  * @param policy
6
6
  * @param context
7
- * @param entity
7
+ * @param _entity
8
8
  * @returns
9
9
  */
10
- export declare function checkPrivileges(policy: IPermissionPolicy, context: IArcGISContext, entity?: Record<string, any>): IPolicyCheck[];
10
+ export declare function checkPrivileges(policy: IPermissionPolicy, context: IArcGISContext, _entity?: Record<string, any>): IPolicyCheck[];
@@ -1,5 +1,6 @@
1
1
  import { IArcGISContext } from "../ArcGISContext";
2
- import { IPermissionAccessResponse, Permission } from "./types";
2
+ import { Permission } from "./types/Permission";
3
+ import { IPermissionAccessResponse } from "./types/IPermissionAccessResponse";
3
4
  /**
4
5
  * Type to allow either an entity or and entity and label to be
5
6
  * passed into `checkPermission`
@@ -58,10 +58,6 @@ export interface IPermissionPolicy {
58
58
  * Must the user be the owner of the entity being accessed?
59
59
  */
60
60
  entityOwner?: boolean;
61
- /**
62
- * DEPRECATED: Use `gatedAvailability: "alpha"` instead
63
- */
64
- alpha?: boolean;
65
61
  /**
66
62
  * More complex policies can be defined with a set of assertions
67
63
  */
@@ -1,4 +1,4 @@
1
1
  /**`
2
2
  * Human readable response from a policy check
3
3
  */
4
- export declare type PolicyResponse = "granted" | "org-member" | "not-org-member" | "group-member" | "not-group-member" | "not-group-admin" | "is-user" | "not-owner" | "not-licensed" | "not-licensed-available" | "not-available" | "not-granted" | "no-edit-access" | "edit-access" | "invalid-permission" | "invalid-capability" | "privilege-required" | "service-offline" | "service-maintenance" | "service-not-available" | "entity-required" | "not-authenticated" | "not-alpha-org" | "not-beta-org" | "property-missing" | "property-not-array" | "array-contains-invalid-value" | "array-missing-required-value" | "property-mismatch" | "user-not-group-member" | "user-not-group-manager" | "user-not-group-owner" | "assertion-property-not-found" | "assertion-failed" | "assertion-requires-numeric-values" | "property-match" | "feature-disabled" | "feature-enabled" | "not-in-environment";
4
+ export declare type PolicyResponse = "granted" | "disabled-by-feature-flag" | "disabled-by-entity-flag" | "org-member" | "not-org-member" | "group-member" | "not-group-member" | "not-group-admin" | "is-user" | "not-owner" | "not-licensed" | "not-licensed-available" | "not-available" | "not-granted" | "no-edit-access" | "edit-access" | "invalid-permission" | "invalid-capability" | "privilege-required" | "service-offline" | "service-maintenance" | "service-not-available" | "entity-required" | "not-authenticated" | "not-alpha-org" | "not-beta-org" | "property-missing" | "property-not-array" | "array-contains-invalid-value" | "array-missing-required-value" | "property-mismatch" | "user-not-group-member" | "user-not-group-manager" | "user-not-group-owner" | "assertion-property-not-found" | "assertion-failed" | "assertion-requires-numeric-values" | "property-match" | "feature-disabled" | "feature-enabled" | "not-in-environment" | "no-policy-exists";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/hub-common",
3
- "version": "14.2.0",
3
+ "version": "14.3.0",
4
4
  "description": "Common TypeScript types and utility functions for @esri/hub.js.",
5
5
  "main": "dist/node/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -1,29 +0,0 @@
1
- import { getPolicyResponseCode } from "./getPolicyResponseCode";
2
- /**
3
- * Validate entityOwner policy
4
- * @param policy
5
- * @param context
6
- * @param entity
7
- * @returns
8
- */
9
- export function checkAlphaGating(policy, context, _entity) {
10
- const checks = [];
11
- // Only return a check if the policy is defined
12
- if (policy.alpha) {
13
- /* tslint:disable-next-line: no-console */
14
- console.log("DEPRECATED: alpha policy is deprecated, please use gatedAvailability: alpha instead");
15
- const result = context.isAlphaOrg
16
- ? "granted"
17
- : "not-alpha-org";
18
- // create the check
19
- const check = {
20
- name: `user in alpha org`,
21
- value: context.hubLicense,
22
- code: getPolicyResponseCode(result),
23
- response: result,
24
- };
25
- checks.push(check);
26
- }
27
- return checks;
28
- }
29
- //# sourceMappingURL=checkAlphaGating.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkAlphaGating.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkAlphaGating.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAyB,EACzB,OAAuB,EACvB,OAA6B;IAE7B,MAAM,MAAM,GAAG,EAAoB,CAAC;IACpC,+CAA+C;IAC/C,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,0CAA0C;QAC1C,OAAO,CAAC,GAAG,CACT,qFAAqF,CACtF,CAAC;QAEF,MAAM,MAAM,GAAmB,OAAO,CAAC,UAAU;YAC/C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,eAAe,CAAC;QAEpB,mBAAmB;QACnB,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,mBAAmB;YACzB,KAAK,EAAE,OAAO,CAAC,UAAU;YACzB,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,MAAM;SACjB,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -1,33 +0,0 @@
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
- /* tslint:disable-next-line: no-console */
17
- console.log("DEPRECATED: alpha policy is deprecated, please use gatedAvailability: alpha instead");
18
- const result = context.isAlphaOrg
19
- ? "granted"
20
- : "not-alpha-org";
21
- // create the check
22
- const check = {
23
- name: `user in alpha org`,
24
- value: context.hubLicense,
25
- code: getPolicyResponseCode_1.getPolicyResponseCode(result),
26
- response: result,
27
- };
28
- checks.push(check);
29
- }
30
- return checks;
31
- }
32
- exports.checkAlphaGating = checkAlphaGating;
33
- //# sourceMappingURL=checkAlphaGating.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"checkAlphaGating.js","sourceRoot":"","sources":["../../../../src/permissions/_internal/checkAlphaGating.ts"],"names":[],"mappings":";;;AAEA,mEAAgE;AAEhE;;;;;;GAMG;AACH,SAAgB,gBAAgB,CAC9B,MAAyB,EACzB,OAAuB,EACvB,OAA6B;IAE7B,MAAM,MAAM,GAAG,EAAoB,CAAC;IACpC,+CAA+C;IAC/C,IAAI,MAAM,CAAC,KAAK,EAAE;QAChB,0CAA0C;QAC1C,OAAO,CAAC,GAAG,CACT,qFAAqF,CACtF,CAAC;QAEF,MAAM,MAAM,GAAmB,OAAO,CAAC,UAAU;YAC/C,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,eAAe,CAAC;QAEpB,mBAAmB;QACnB,MAAM,KAAK,GAAiB;YAC1B,IAAI,EAAE,mBAAmB;YACzB,KAAK,EAAE,OAAO,CAAC,UAAU;YACzB,IAAI,EAAE,6CAAqB,CAAC,MAAM,CAAC;YACnC,QAAQ,EAAE,MAAM;SACjB,CAAC;QACF,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACpB;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AA5BD,4CA4BC"}
@@ -1,10 +0,0 @@
1
- import { IArcGISContext } from "../../ArcGISContext";
2
- import { IPermissionPolicy, IPolicyCheck } from "../types";
3
- /**
4
- * Validate entityOwner policy
5
- * @param policy
6
- * @param context
7
- * @param entity
8
- * @returns
9
- */
10
- export declare function checkAlphaGating(policy: IPermissionPolicy, context: IArcGISContext, _entity?: Record<string, any>): IPolicyCheck[];