@frontegg/entitlements-javascript-commons 1.1.2 → 1.1.3-alpha.1
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.
- package/dist/user-entitlements/is-entitled-to-feature/is-entitled-to-feature.evaluator.js +1 -1
- package/dist/user-entitlements/is-entitled-to-feature/is-entitled-to-feature.evaluator.js.map +1 -1
- package/dist/user-entitlements/is-entitled-to-permission/is-entitled-to-permission.evaluator.js +4 -1
- package/dist/user-entitlements/is-entitled-to-permission/is-entitled-to-permission.evaluator.js.map +1 -1
- package/dist/user-entitlements/utils/permissions.utils.js +4 -0
- package/dist/user-entitlements/utils/permissions.utils.js.map +1 -1
- package/docs/CHANGELOG.md +14 -1
- package/package.json +1 -1
- package/src/user-entitlements/is-entitled-to-feature/is-entitled-to-feature.evaluator.ts +3 -2
- package/src/user-entitlements/is-entitled-to-permission/is-entitled-to-permission.evaluator.ts +5 -2
- package/src/user-entitlements/utils/permissions.utils.ts +5 -1
|
@@ -5,7 +5,7 @@ const types_1 = require("../types");
|
|
|
5
5
|
const utils_1 = require("../utils");
|
|
6
6
|
const evaluators_1 = require("./evaluators");
|
|
7
7
|
function evaluateIsEntitledToFeature(featureKey, userEntitlementsContext, attributes = {}) {
|
|
8
|
-
if (!userEntitlementsContext) {
|
|
8
|
+
if (!userEntitlementsContext || !featureKey || !(userEntitlementsContext === null || userEntitlementsContext === void 0 ? void 0 : userEntitlementsContext.features)) {
|
|
9
9
|
return { isEntitled: false, justification: types_1.NotEntitledJustification.MISSING_FEATURE };
|
|
10
10
|
}
|
|
11
11
|
const entitlementResults = [];
|
package/dist/user-entitlements/is-entitled-to-feature/is-entitled-to-feature.evaluator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-entitled-to-feature.evaluator.js","sourceRoot":"","sources":["../../../src/user-entitlements/is-entitled-to-feature/is-entitled-to-feature.evaluator.ts"],"names":[],"mappings":";;;AAAA,oCAA4G;AAC5G,oCAAqD;AACrD,6CAAuD;
|
|
1
|
+
{"version":3,"file":"is-entitled-to-feature.evaluator.js","sourceRoot":"","sources":["../../../src/user-entitlements/is-entitled-to-feature/is-entitled-to-feature.evaluator.ts"],"names":[],"mappings":";;;AAAA,oCAA4G;AAC5G,oCAAqD;AACrD,6CAAuD;AAEvD,SAAgB,2BAA2B,CACzC,UAAkB,EAClB,uBAAiD,EACjD,aAAyB,EAAE;IAE3B,IAAI,CAAC,uBAAuB,IAAI,CAAC,UAAU,IAAI,CAAC,CAAA,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,QAAQ,CAAA,EAAE;QACjF,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,gCAAwB,CAAC,eAAe,EAAE,CAAC;KACvF;IAED,MAAM,kBAAkB,GAAwB,EAAE,CAAC;IACnD,KAAK,MAAM,SAAS,IAAI,IAAA,oCAAuB,GAAE,EAAE;QACjD,kBAAkB,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,uBAAuB,EAAE,UAAU,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,IAAA,sBAAc,EAAC,kBAAkB,CAAC,EAAE;YACvC,MAAM;SACP;KACF;IAED,OAAO,IAAA,iBAAS,EAAC,kBAAkB,CAAC,CAAC;AACvC,CAAC;AAlBD,kEAkBC"}
|
package/dist/user-entitlements/is-entitled-to-permission/is-entitled-to-permission.evaluator.js
CHANGED
|
@@ -6,7 +6,7 @@ const types_1 = require("../types");
|
|
|
6
6
|
const utils_1 = require("../utils");
|
|
7
7
|
const permissions_utils_1 = require("../utils/permissions.utils");
|
|
8
8
|
function evaluateIsEntitledToPermissions(permissionKey, userEntitlementsContext, attributes) {
|
|
9
|
-
if (!userEntitlementsContext) {
|
|
9
|
+
if (!userEntitlementsContext || !(userEntitlementsContext === null || userEntitlementsContext === void 0 ? void 0 : userEntitlementsContext.permissions) || !permissionKey) {
|
|
10
10
|
return { isEntitled: false, justification: types_1.NotEntitledJustification.MISSING_PERMISSION };
|
|
11
11
|
}
|
|
12
12
|
const hasPermission = (0, permissions_utils_1.checkPermission)(userEntitlementsContext.permissions, permissionKey);
|
|
@@ -28,6 +28,9 @@ function evaluateIsEntitledToPermissions(permissionKey, userEntitlementsContext,
|
|
|
28
28
|
}
|
|
29
29
|
exports.evaluateIsEntitledToPermissions = evaluateIsEntitledToPermissions;
|
|
30
30
|
function getLinkedFeatures(permissionKey, userEntitlementsContext) {
|
|
31
|
+
if (!permissionKey || !(userEntitlementsContext === null || userEntitlementsContext === void 0 ? void 0 : userEntitlementsContext.features)) {
|
|
32
|
+
return [];
|
|
33
|
+
}
|
|
31
34
|
return Object.keys(userEntitlementsContext.features).filter((featureKey) => userEntitlementsContext.features[featureKey].linkedPermissions.includes(permissionKey));
|
|
32
35
|
}
|
|
33
36
|
//# sourceMappingURL=is-entitled-to-permission.evaluator.js.map
|
package/dist/user-entitlements/is-entitled-to-permission/is-entitled-to-permission.evaluator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-entitled-to-permission.evaluator.js","sourceRoot":"","sources":["../../../src/user-entitlements/is-entitled-to-permission/is-entitled-to-permission.evaluator.ts"],"names":[],"mappings":";;;AAAA,iHAAyG;AACzG,oCAA4G;AAC5G,oCAAqD;AACrD,kEAA6D;AAE7D,SAAgB,+BAA+B,CAC7C,aAAqB,EACrB,uBAAiD,EACjD,UAAuB;IAEvB,IAAI,CAAC,uBAAuB,EAAE;
|
|
1
|
+
{"version":3,"file":"is-entitled-to-permission.evaluator.js","sourceRoot":"","sources":["../../../src/user-entitlements/is-entitled-to-permission/is-entitled-to-permission.evaluator.ts"],"names":[],"mappings":";;;AAAA,iHAAyG;AACzG,oCAA4G;AAC5G,oCAAqD;AACrD,kEAA6D;AAE7D,SAAgB,+BAA+B,CAC7C,aAAqB,EACrB,uBAAiD,EACjD,UAAuB;IAEvB,IAAI,CAAC,uBAAuB,IAAI,CAAC,CAAA,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,WAAW,CAAA,IAAI,CAAC,aAAa,EAAE;QACvF,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,gCAAwB,CAAC,kBAAkB,EAAE,CAAC;KAC1F;IAED,MAAM,aAAa,GAAG,IAAA,mCAAe,EAAC,uBAAuB,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;IAC1F,IAAI,CAAC,aAAa,EAAE;QAClB,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,aAAa,EAAE,gCAAwB,CAAC,kBAAkB,EAAE,CAAC;KAC1F;IAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,aAAa,EAAE,uBAAuB,CAAC,CAAC;IAEjF,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE;QAC1B,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;KAC7B;IAED,MAAM,kBAAkB,GAAwB,EAAE,CAAC;IACnD,KAAK,MAAM,UAAU,IAAI,cAAc,EAAE;QACvC,kBAAkB,CAAC,IAAI,CAAC,IAAA,8DAA2B,EAAC,UAAU,EAAE,uBAAuB,EAAE,UAAU,CAAC,CAAC,CAAC;QAEtG,IAAI,CAAC,IAAA,sBAAc,EAAC,kBAAkB,CAAC,EAAE;YACvC,MAAM;SACP;KACF;IAED,OAAO,IAAA,iBAAS,EAAC,kBAAkB,CAAC,CAAC;AACvC,CAAC;AA9BD,0EA8BC;AAED,SAAS,iBAAiB,CAAC,aAAqB,EAAE,uBAAgD;IAChG,IAAG,CAAC,aAAa,IAAI,CAAC,CAAA,uBAAuB,aAAvB,uBAAuB,uBAAvB,uBAAuB,CAAE,QAAQ,CAAA,EAAE;QACvD,OAAO,EAAE,CAAC;KACX;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CACzE,uBAAuB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,CACvF,CAAC;AACJ,CAAC"}
|
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.createPermissionCheckRegex = exports.checkPermission = void 0;
|
|
4
4
|
function checkPermission(permissions, requiredPermission) {
|
|
5
|
+
if (!permissions || !requiredPermission) {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
;
|
|
5
9
|
return Object.keys(permissions).some((permissionKey) => createPermissionCheckRegex(permissionKey).test(requiredPermission));
|
|
6
10
|
}
|
|
7
11
|
exports.checkPermission = checkPermission;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.utils.js","sourceRoot":"","sources":["../../../src/user-entitlements/utils/permissions.utils.ts"],"names":[],"mappings":";;;AACA,SAAgB,eAAe,CAAC,WAAwB,EAAE,kBAA0B;IAClF,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE,CACrD,0BAA0B,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CACnE,CAAC;AACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"permissions.utils.js","sourceRoot":"","sources":["../../../src/user-entitlements/utils/permissions.utils.ts"],"names":[],"mappings":";;;AACA,SAAgB,eAAe,CAAC,WAAwB,EAAE,kBAA0B;IAClF,IAAI,CAAC,WAAW,IAAI,CAAC,kBAAkB,EAAE;QACvC,OAAO,KAAK,CAAC;KACd;IAAA,CAAC;IAEF,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE,CACrD,0BAA0B,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CACnE,CAAC;AACJ,CAAC;AARD,0CAQC;AAED,SAAgB,0BAA0B,CAAC,aAAqB;IAC9D,OAAO,IAAI,MAAM,CAAC,GAAG,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,GAAG,EAAE,IAAI,CAAC,CAAC;AAChG,CAAC;AAFD,gEAEC"}
|
package/docs/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,18 @@
|
|
|
1
|
-
## [1.1.
|
|
1
|
+
## [1.1.3-alpha.1](https://github.com/frontegg/entitlements-javascript-commons/compare/v-1.1.2...v-1.1.3-alpha.1) (2025-02-20)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **condition:** prevent undefined fail in evaluateIsEntitledToFeature ([a529f3d](https://github.com/frontegg/entitlements-javascript-commons/commit/a529f3d5afcef2c92a3516e159f6444c62a93c58))
|
|
7
|
+
* **condition:** prevent undefined fail in evaluateIsEntitledToFeature ([4597859](https://github.com/frontegg/entitlements-javascript-commons/commit/459785989f2c97b96ae8dbb63257cace9df658ef))
|
|
2
8
|
|
|
9
|
+
## [1.1.2-alpha.2](https://github.com/frontegg/entitlements-javascript-commons/compare/v-1.1.2-alpha.1...v-1.1.2-alpha.2) (2025-02-20)
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **condition:** prevent undefined fail in evaluateIsEntitledToFeature ([a529f3d](https://github.com/frontegg/entitlements-javascript-commons/commit/a529f3d5afcef2c92a3516e159f6444c62a93c58))
|
|
14
|
+
|
|
15
|
+
## [1.1.2](https://github.com/frontegg/entitlements-javascript-commons/compare/v-1.1.1...v-1.1.2) (2024-01-25)
|
|
3
16
|
|
|
4
17
|
### Bug Fixes
|
|
5
18
|
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { EntitlementResult, NotEntitledJustification, UserEntitlementsContext, Attributes } from '../types';
|
|
2
2
|
import { getResult, shouldContinue } from '../utils';
|
|
3
3
|
import { getIsEntitledEvaluators } from './evaluators';
|
|
4
|
+
|
|
4
5
|
export function evaluateIsEntitledToFeature(
|
|
5
6
|
featureKey: string,
|
|
6
7
|
userEntitlementsContext?: UserEntitlementsContext,
|
|
7
8
|
attributes: Attributes = {},
|
|
8
9
|
): EntitlementResult {
|
|
9
|
-
if (!userEntitlementsContext) {
|
|
10
|
+
if (!userEntitlementsContext || !featureKey || !userEntitlementsContext?.features) {
|
|
10
11
|
return { isEntitled: false, justification: NotEntitledJustification.MISSING_FEATURE };
|
|
11
12
|
}
|
|
12
13
|
|
|
@@ -19,4 +20,4 @@ export function evaluateIsEntitledToFeature(
|
|
|
19
20
|
}
|
|
20
21
|
|
|
21
22
|
return getResult(entitlementResults);
|
|
22
|
-
}
|
|
23
|
+
}
|
package/src/user-entitlements/is-entitled-to-permission/is-entitled-to-permission.evaluator.ts
CHANGED
|
@@ -8,7 +8,7 @@ export function evaluateIsEntitledToPermissions(
|
|
|
8
8
|
userEntitlementsContext?: UserEntitlementsContext,
|
|
9
9
|
attributes?: Attributes,
|
|
10
10
|
): EntitlementResult {
|
|
11
|
-
if (!userEntitlementsContext) {
|
|
11
|
+
if (!userEntitlementsContext || !userEntitlementsContext?.permissions || !permissionKey) {
|
|
12
12
|
return { isEntitled: false, justification: NotEntitledJustification.MISSING_PERMISSION };
|
|
13
13
|
}
|
|
14
14
|
|
|
@@ -36,7 +36,10 @@ export function evaluateIsEntitledToPermissions(
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
function getLinkedFeatures(permissionKey: string, userEntitlementsContext: UserEntitlementsContext): string[] {
|
|
39
|
+
if(!permissionKey || !userEntitlementsContext?.features) {
|
|
40
|
+
return [];
|
|
41
|
+
}
|
|
39
42
|
return Object.keys(userEntitlementsContext.features).filter((featureKey) =>
|
|
40
43
|
userEntitlementsContext.features[featureKey].linkedPermissions.includes(permissionKey),
|
|
41
44
|
);
|
|
42
|
-
}
|
|
45
|
+
}
|
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { Permissions } from '../types';
|
|
2
2
|
export function checkPermission(permissions: Permissions, requiredPermission: string): boolean {
|
|
3
|
+
if (!permissions || !requiredPermission) {
|
|
4
|
+
return false;
|
|
5
|
+
};
|
|
6
|
+
|
|
3
7
|
return Object.keys(permissions).some((permissionKey) =>
|
|
4
8
|
createPermissionCheckRegex(permissionKey).test(requiredPermission),
|
|
5
9
|
);
|
|
@@ -7,4 +11,4 @@ export function checkPermission(permissions: Permissions, requiredPermission: st
|
|
|
7
11
|
|
|
8
12
|
export function createPermissionCheckRegex(permissionKey: string): RegExp {
|
|
9
13
|
return new RegExp('^' + permissionKey.replace(/\./g, '\\.').replace(/\*/g, '.*') + '$', 'gs');
|
|
10
|
-
}
|
|
14
|
+
}
|