unleash-server 6.2.0 → 6.2.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.
Files changed (41) hide show
  1. package/dist/lib/features/project/can-grant-project-role.d.ts +4 -0
  2. package/dist/lib/features/project/can-grant-project-role.d.ts.map +1 -0
  3. package/dist/lib/features/project/can-grant-project-role.js +17 -0
  4. package/dist/lib/features/project/can-grant-project-role.js.map +1 -0
  5. package/dist/lib/features/project/can-grant-project-role.test.d.ts +2 -0
  6. package/dist/lib/features/project/can-grant-project-role.test.d.ts.map +1 -0
  7. package/dist/lib/features/project/can-grant-project-role.test.js +111 -0
  8. package/dist/lib/features/project/can-grant-project-role.test.js.map +1 -0
  9. package/dist/lib/features/project/project-service.d.ts.map +1 -1
  10. package/dist/lib/features/project/project-service.e2e.test.js +31 -29
  11. package/dist/lib/features/project/project-service.e2e.test.js.map +1 -1
  12. package/dist/lib/features/project/project-service.js +13 -1
  13. package/dist/lib/features/project/project-service.js.map +1 -1
  14. package/dist/lib/routes/admin-api/user/user.d.ts +1 -0
  15. package/dist/lib/routes/admin-api/user/user.d.ts.map +1 -1
  16. package/dist/lib/routes/admin-api/user/user.js +8 -1
  17. package/dist/lib/routes/admin-api/user/user.js.map +1 -1
  18. package/dist/lib/types/experimental.d.ts +1 -1
  19. package/dist/lib/types/experimental.d.ts.map +1 -1
  20. package/dist/lib/types/experimental.js +1 -0
  21. package/dist/lib/types/experimental.js.map +1 -1
  22. package/frontend/build/index.html +1 -1
  23. package/frontend/build/static/{AdvancedPlayground-CRj3J15M.js → AdvancedPlayground-C-dAyAx-.js} +1 -1
  24. package/frontend/build/static/{CreateProject-CoMWBmMC.js → CreateProject-B4Jpedfs.js} +1 -1
  25. package/frontend/build/static/{FeatureMetricsChart-CJrrWMue.js → FeatureMetricsChart-CfRbEeZY.js} +1 -1
  26. package/frontend/build/static/{FeatureStaleDialog-Yc2Yc4V5.js → FeatureStaleDialog-DX_vqibC.js} +1 -1
  27. package/frontend/build/static/{FeatureViewLazyExport-CCemx_kk.js → FeatureViewLazyExport--kJx8txU.js} +2 -2
  28. package/frontend/build/static/{LazyAdminExport-C8Z5ig95.js → LazyAdminExport-DY3JyvJM.js} +2 -2
  29. package/frontend/build/static/{LazyProjectExport-Dooc4t2t.js → LazyProjectExport-COo-ZbGx.js} +2 -2
  30. package/frontend/build/static/{LineChartComponent-BxkVmXGQ.js → LineChartComponent-Bh-DtN3E.js} +1 -1
  31. package/frontend/build/static/{NetworkOverview-DakM348r.js → NetworkOverview-DiYdB1sN.js} +1 -1
  32. package/frontend/build/static/{NetworkTraffic-CfqRQOHm.js → NetworkTraffic-BIfuZ2W8.js} +1 -1
  33. package/frontend/build/static/{NetworkTrafficUsage-BnIFfNNJ.js → NetworkTrafficUsage-Cl1H-fhz.js} +1 -1
  34. package/frontend/build/static/{ReactJSONEditor-z4lldZFR.js → ReactJSONEditor-DlCBXnpp.js} +1 -1
  35. package/frontend/build/static/{RoleCell-BLQYE7NO.js → RoleCell-CyUjGKex.js} +1 -1
  36. package/frontend/build/static/{StrategyItemContainer-0nEHrvdC.js → StrategyItemContainer-C2s-CIiO.js} +1 -1
  37. package/frontend/build/static/{index-C5Z6aehP.js → index-BkkVRgMF.js} +8 -8
  38. package/frontend/build/static/{index-DhEaCpkq.js → index-CFvoUqKv.js} +1 -1
  39. package/frontend/build/static/{unknownify-CLPkLMVA.js → unknownify-B5EW5GrF.js} +1 -1
  40. package/frontend/build/static/{useApiTokens-DfEYjYPV.js → useApiTokens-BQFDjDJi.js} +1 -1
  41. package/package.json +1 -1
@@ -0,0 +1,4 @@
1
+ import type { IPermission } from '../../types';
2
+ import type { IUserPermission } from '../../types/stores/access-store';
3
+ export declare const canGrantProjectRole: (granterPermissions: IUserPermission[], receiverPermissions: IPermission[]) => boolean;
4
+ //# sourceMappingURL=can-grant-project-role.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"can-grant-project-role.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/project/can-grant-project-role.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAEvE,eAAO,MAAM,mBAAmB,uBACR,eAAe,EAAE,uBAChB,WAAW,EAAE,YAerC,CAAC"}
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.canGrantProjectRole = void 0;
4
+ const canGrantProjectRole = (granterPermissions, receiverPermissions) => {
5
+ return receiverPermissions.every((receiverPermission) => {
6
+ return granterPermissions.some((granterPermission) => {
7
+ if (granterPermission.environment) {
8
+ return (granterPermission.permission === receiverPermission.name &&
9
+ granterPermission.environment ===
10
+ receiverPermission.environment);
11
+ }
12
+ return granterPermission.permission === receiverPermission.name;
13
+ });
14
+ });
15
+ };
16
+ exports.canGrantProjectRole = canGrantProjectRole;
17
+ //# sourceMappingURL=can-grant-project-role.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"can-grant-project-role.js","sourceRoot":"","sources":["../../../../src/lib/features/project/can-grant-project-role.ts"],"names":[],"mappings":";;;AAGO,MAAM,mBAAmB,GAAG,CAC/B,kBAAqC,EACrC,mBAAkC,EACpC,EAAE;IACA,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC,kBAAkB,EAAE,EAAE;QACpD,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC,iBAAiB,EAAE,EAAE;YACjD,IAAI,iBAAiB,CAAC,WAAW,EAAE,CAAC;gBAChC,OAAO,CACH,iBAAiB,CAAC,UAAU,KAAK,kBAAkB,CAAC,IAAI;oBACxD,iBAAiB,CAAC,WAAW;wBACzB,kBAAkB,CAAC,WAAW,CACrC,CAAC;YACN,CAAC;YAED,OAAO,iBAAiB,CAAC,UAAU,KAAK,kBAAkB,CAAC,IAAI,CAAC;QACpE,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAjBW,QAAA,mBAAmB,uBAiB9B"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=can-grant-project-role.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"can-grant-project-role.test.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/project/can-grant-project-role.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const can_grant_project_role_1 = require("./can-grant-project-role");
4
+ describe('canGrantProjectRole', () => {
5
+ test('should return true if the granter has all the permissions the receiver needs', () => {
6
+ const granterPermissions = [
7
+ {
8
+ project: 'test',
9
+ environment: undefined,
10
+ permission: 'CREATE_FEATURE',
11
+ },
12
+ {
13
+ project: 'test',
14
+ environment: 'production',
15
+ permission: 'UPDATE_FEATURE_ENVIRONMENT',
16
+ },
17
+ {
18
+ project: 'test',
19
+ environment: 'production',
20
+ permission: 'APPROVE_CHANGE_REQUEST',
21
+ },
22
+ ];
23
+ const receiverPermissions = [
24
+ {
25
+ id: 28,
26
+ name: 'UPDATE_FEATURE_ENVIRONMENT',
27
+ environment: 'production',
28
+ displayName: 'Enable/disable flags',
29
+ type: 'environment',
30
+ },
31
+ {
32
+ id: 29,
33
+ name: 'APPROVE_CHANGE_REQUEST',
34
+ environment: 'production',
35
+ displayName: 'Enable/disable flags',
36
+ type: 'environment',
37
+ },
38
+ ];
39
+ (0, can_grant_project_role_1.canGrantProjectRole)(granterPermissions, receiverPermissions);
40
+ });
41
+ test('should return false if the granter and receiver permissions have different environments', () => {
42
+ const granterPermissions = [
43
+ {
44
+ project: 'test',
45
+ environment: 'production',
46
+ permission: 'UPDATE_FEATURE_ENVIRONMENT',
47
+ },
48
+ {
49
+ project: 'test',
50
+ environment: 'production',
51
+ permission: 'APPROVE_CHANGE_REQUEST',
52
+ },
53
+ ];
54
+ const receiverPermissions = [
55
+ {
56
+ id: 28,
57
+ name: 'UPDATE_FEATURE_ENVIRONMENT',
58
+ environment: 'development',
59
+ displayName: 'Enable/disable flags',
60
+ type: 'environment',
61
+ },
62
+ {
63
+ id: 29,
64
+ name: 'APPROVE_CHANGE_REQUEST',
65
+ environment: 'development',
66
+ displayName: 'Enable/disable flags',
67
+ type: 'environment',
68
+ },
69
+ ];
70
+ expect((0, can_grant_project_role_1.canGrantProjectRole)(granterPermissions, receiverPermissions)).toBeFalsy();
71
+ });
72
+ test('should return false if the granter does not have all receiver permissions', () => {
73
+ const granterPermissions = [
74
+ {
75
+ project: 'test',
76
+ environment: 'production',
77
+ permission: 'UPDATE_FEATURE_ENVIRONMENT',
78
+ },
79
+ {
80
+ project: 'test',
81
+ environment: 'production',
82
+ permission: 'APPROVE_CHANGE_REQUEST',
83
+ },
84
+ ];
85
+ const receiverPermissions = [
86
+ {
87
+ id: 28,
88
+ name: 'UPDATE_FEATURE_ENVIRONMENT',
89
+ environment: 'production',
90
+ displayName: 'Enable/disable flags',
91
+ type: 'environment',
92
+ },
93
+ {
94
+ id: 29,
95
+ name: 'APPROVE_CHANGE_REQUEST',
96
+ environment: 'production',
97
+ displayName: 'Enable/disable flags',
98
+ type: 'environment',
99
+ },
100
+ {
101
+ id: 26,
102
+ name: 'UPDATE_FEATURE_STRATEGY',
103
+ environment: 'production',
104
+ displayName: 'Update activation strategies',
105
+ type: 'environment',
106
+ },
107
+ ];
108
+ expect((0, can_grant_project_role_1.canGrantProjectRole)(granterPermissions, receiverPermissions)).toBeFalsy();
109
+ });
110
+ });
111
+ //# sourceMappingURL=can-grant-project-role.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"can-grant-project-role.test.js","sourceRoot":"","sources":["../../../../src/lib/features/project/can-grant-project-role.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"project-service.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/project/project-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-service.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/project/project-service.ts"],"names":[],"mappings":"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"}
@@ -567,7 +567,7 @@ describe('Managing Project access', () => {
567
567
  await accessService.addUserToRole(projectUser.id, customRole.id, project.id);
568
568
  await expect(projectService.addAccess(project.id, [customRole.id], [secondGroup.id], [], auditUser)).resolves.not.toThrow(new error_1.InvalidOperationError('User tried to assign a role they did not have access to'));
569
569
  });
570
- test('Users can not assign roles they do not have to a user through explicit roles endpoint', async () => {
570
+ test('Users can not assign roles where they do not hold the same permissions', async () => {
571
571
  const project = {
572
572
  id: 'user_fail_assign_to_user',
573
573
  name: 'user_fail_assign_to_user',
@@ -575,46 +575,48 @@ describe('Managing Project access', () => {
575
575
  mode: 'open',
576
576
  defaultStickiness: 'clientId',
577
577
  };
578
+ const auditUser = (0, util_1.extractAuditInfoFromUser)(user);
578
579
  await projectService.createProject(project, user, auditUser);
579
580
  const projectUser = await stores.userStore.insert({
580
581
  name: 'Some project user',
581
582
  email: 'fail_assign_role_to_user@example.com',
582
583
  });
583
- const projectAuditUser = (0, util_1.extractAuditInfoFromUser)(projectUser);
584
584
  const secondUser = await stores.userStore.insert({
585
585
  name: 'Some other user',
586
586
  email: 'otheruser_no_roles@example.com',
587
587
  });
588
- const customRole = await stores.roleStore.create({
589
- name: 'role_that_noone_has',
590
- roleType: 'custom',
591
- description: 'Used to prove that you can not assign a role you do not have via setRolesForUser',
592
- });
593
- await expect(projectService.setRolesForUser(project.id, secondUser.id, [customRole.id], projectAuditUser)).rejects.toThrow(new error_1.InvalidOperationError('User tried to assign a role they did not have access to'));
594
- });
595
- test('Users can not assign roles they do not have to a group through explicit roles endpoint', async () => {
596
- const project = {
597
- id: 'user_fail_assign_to_group',
598
- name: 'user_fail_assign_to_group',
599
- description: '',
600
- mode: 'open',
601
- defaultStickiness: 'clientId',
602
- };
603
- await projectService.createProject(project, user, auditUser);
604
- const projectUser = await stores.userStore.insert({
605
- name: 'Some project user',
606
- email: 'fail_assign_role_to_group@example.com',
607
- });
608
- const projectAuditUser = (0, util_1.extractAuditInfoFromUser)(projectUser);
588
+ const customRoleUserAccess = await accessService.createRole({
589
+ name: 'Project-permissions-lead',
590
+ description: 'Role',
591
+ permissions: [
592
+ {
593
+ name: 'PROJECT_USER_ACCESS_WRITE',
594
+ },
595
+ ],
596
+ createdByUserId: types_1.SYSTEM_USER_ID,
597
+ }, types_1.SYSTEM_USER_AUDIT);
598
+ const customRoleUpdateEnvironments = await accessService.createRole({
599
+ name: 'Project Lead',
600
+ description: 'Role',
601
+ permissions: [
602
+ {
603
+ name: 'UPDATE_FEATURE_ENVIRONMENT',
604
+ environment: 'production',
605
+ },
606
+ {
607
+ name: 'CREATE_FEATURE_STRATEGY',
608
+ environment: 'production',
609
+ },
610
+ ],
611
+ createdByUserId: types_1.SYSTEM_USER_ID,
612
+ }, types_1.SYSTEM_USER_AUDIT);
613
+ await projectService.setRolesForUser(project.id, projectUser.id, [customRoleUserAccess.id], auditUser);
614
+ const auditProjectUser = (0, util_1.extractAuditInfoFromUser)(projectUser);
615
+ await expect(projectService.setRolesForUser(project.id, secondUser.id, [customRoleUpdateEnvironments.id], auditProjectUser)).rejects.toThrow(new error_1.InvalidOperationError('User tried to assign a role they did not have access to'));
609
616
  const group = await stores.groupStore.create({
610
617
  name: 'Some group_awaiting_role',
611
618
  });
612
- const customRole = await stores.roleStore.create({
613
- name: 'role_that_noone_has_fail_assign_group',
614
- roleType: 'custom',
615
- description: 'Used to prove that you can not assign a role you do not have via setRolesForGroup',
616
- });
617
- return expect(projectService.setRolesForGroup(project.id, group.id, [customRole.id], projectAuditUser)).rejects.toThrow(new error_1.InvalidOperationError('User tried to assign a role they did not have access to'));
619
+ await expect(projectService.setRolesForGroup(project.id, group.id, [customRoleUpdateEnvironments.id], auditProjectUser)).rejects.toThrow(new error_1.InvalidOperationError('User tried to assign a role they did not have access to'));
618
620
  });
619
621
  });
620
622
  test('should add admin users to the project', async () => {