unleash-server 4.8.2 → 4.9.0-beta.2

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 (58) hide show
  1. package/dist/lib/create-config.js +24 -20
  2. package/dist/lib/create-config.js.map +1 -1
  3. package/dist/lib/create-config.test.js +86 -4
  4. package/dist/lib/create-config.test.js.map +1 -1
  5. package/dist/lib/db/access-store.d.ts +1 -0
  6. package/dist/lib/db/access-store.js +8 -0
  7. package/dist/lib/db/access-store.js.map +1 -1
  8. package/dist/lib/error/project-without-owner-error.d.ts +4 -0
  9. package/dist/lib/error/project-without-owner-error.js +25 -0
  10. package/dist/lib/error/project-without-owner-error.js.map +1 -0
  11. package/dist/lib/routes/admin-api/project/features.d.ts +1 -0
  12. package/dist/lib/routes/admin-api/project/features.js +6 -0
  13. package/dist/lib/routes/admin-api/project/features.js.map +1 -1
  14. package/dist/lib/routes/util.js +2 -0
  15. package/dist/lib/routes/util.js.map +1 -1
  16. package/dist/lib/schema/constraint-value-types.d.ts +4 -0
  17. package/dist/lib/schema/constraint-value-types.js +11 -0
  18. package/dist/lib/schema/constraint-value-types.js.map +1 -0
  19. package/dist/lib/schema/constraint-value-types.test.d.ts +1 -0
  20. package/dist/lib/schema/constraint-value-types.test.js +64 -0
  21. package/dist/lib/schema/constraint-value-types.test.js.map +1 -0
  22. package/dist/lib/schema/feature-schema.js +5 -1
  23. package/dist/lib/schema/feature-schema.js.map +1 -1
  24. package/dist/lib/schema/feature-schema.test.js +14 -0
  25. package/dist/lib/schema/feature-schema.test.js.map +1 -1
  26. package/dist/lib/services/access-service.d.ts +1 -0
  27. package/dist/lib/services/access-service.js +3 -0
  28. package/dist/lib/services/access-service.js.map +1 -1
  29. package/dist/lib/services/feature-toggle-service.d.ts +5 -2
  30. package/dist/lib/services/feature-toggle-service.js +47 -1
  31. package/dist/lib/services/feature-toggle-service.js.map +1 -1
  32. package/dist/lib/services/project-service.d.ts +3 -0
  33. package/dist/lib/services/project-service.js +36 -7
  34. package/dist/lib/services/project-service.js.map +1 -1
  35. package/dist/lib/types/events.d.ts +12 -0
  36. package/dist/lib/types/events.js +13 -2
  37. package/dist/lib/types/events.js.map +1 -1
  38. package/dist/lib/types/model.d.ts +4 -1
  39. package/dist/lib/types/model.js.map +1 -1
  40. package/dist/lib/types/stores/access-store.d.ts +2 -0
  41. package/dist/lib/util/constants.d.ts +20 -0
  42. package/dist/lib/util/constants.js +44 -1
  43. package/dist/lib/util/constants.js.map +1 -1
  44. package/dist/lib/util/validators/constraint-types.d.ts +5 -0
  45. package/dist/lib/util/validators/constraint-types.js +44 -0
  46. package/dist/lib/util/validators/constraint-types.js.map +1 -0
  47. package/dist/lib/util/validators/constraint-types.test.d.ts +1 -0
  48. package/dist/lib/util/validators/constraint-types.test.js +89 -0
  49. package/dist/lib/util/validators/constraint-types.test.js.map +1 -0
  50. package/dist/migrations/20220224111626-add-current-time-context-field.d.ts +2 -0
  51. package/dist/migrations/20220224111626-add-current-time-context-field.js +12 -0
  52. package/dist/migrations/20220224111626-add-current-time-context-field.js.map +1 -0
  53. package/dist/test/e2e/services/project-service.e2e.test.js +63 -0
  54. package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
  55. package/dist/test/fixtures/fake-access-store.d.ts +1 -0
  56. package/dist/test/fixtures/fake-access-store.js +3 -0
  57. package/dist/test/fixtures/fake-access-store.js.map +1 -1
  58. package/package.json +12 -11
@@ -1,9 +1,52 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CUSTOM_ROLE_TYPE = exports.PROJECT_PERMISSION_TYPE = exports.ENVIRONMENT_PERMISSION_TYPE = exports.ROOT_PERMISSION_TYPE = exports.DEFAULT_ENV = void 0;
3
+ exports.SEMVER_OPERATORS = exports.DATE_OPERATORS = exports.NUM_OPERATORS = exports.STRING_OPERATORS = exports.ALL_OPERATORS = exports.SEMVER_LT = exports.SEMVER_GT = exports.SEMVER_EQ = exports.DATE_BEFORE = exports.DATE_AFTER = exports.NUM_LTE = exports.NUM_LT = exports.NUM_GTE = exports.NUM_GT = exports.NUM_EQ = exports.STR_CONTAINS = exports.STR_STARTS_WITH = exports.STR_ENDS_WITH = exports.IN = exports.NOT_IN = exports.CUSTOM_ROLE_TYPE = exports.PROJECT_PERMISSION_TYPE = exports.ENVIRONMENT_PERMISSION_TYPE = exports.ROOT_PERMISSION_TYPE = exports.DEFAULT_ENV = void 0;
4
4
  exports.DEFAULT_ENV = 'default';
5
5
  exports.ROOT_PERMISSION_TYPE = 'root';
6
6
  exports.ENVIRONMENT_PERMISSION_TYPE = 'environment';
7
7
  exports.PROJECT_PERMISSION_TYPE = 'project';
8
8
  exports.CUSTOM_ROLE_TYPE = 'custom';
9
+ /* CONTEXT FIELD OPERATORS */
10
+ exports.NOT_IN = 'NOT_IN';
11
+ exports.IN = 'IN';
12
+ exports.STR_ENDS_WITH = 'STR_ENDS_WITH';
13
+ exports.STR_STARTS_WITH = 'STR_STARTS_WITH';
14
+ exports.STR_CONTAINS = 'STR_CONTAINS';
15
+ exports.NUM_EQ = 'NUM_EQ';
16
+ exports.NUM_GT = 'NUM_GT';
17
+ exports.NUM_GTE = 'NUM_GTE';
18
+ exports.NUM_LT = 'NUM_LT';
19
+ exports.NUM_LTE = 'NUM_LTE';
20
+ exports.DATE_AFTER = 'DATE_AFTER';
21
+ exports.DATE_BEFORE = 'DATE_BEFORE';
22
+ exports.SEMVER_EQ = 'SEMVER_EQ';
23
+ exports.SEMVER_GT = 'SEMVER_GT';
24
+ exports.SEMVER_LT = 'SEMVER_LT';
25
+ exports.ALL_OPERATORS = [
26
+ exports.NOT_IN,
27
+ exports.IN,
28
+ exports.STR_ENDS_WITH,
29
+ exports.STR_STARTS_WITH,
30
+ exports.STR_CONTAINS,
31
+ exports.NUM_EQ,
32
+ exports.NUM_GT,
33
+ exports.NUM_GTE,
34
+ exports.NUM_LT,
35
+ exports.NUM_LTE,
36
+ exports.DATE_AFTER,
37
+ exports.DATE_BEFORE,
38
+ exports.SEMVER_EQ,
39
+ exports.SEMVER_GT,
40
+ exports.SEMVER_LT,
41
+ ];
42
+ exports.STRING_OPERATORS = [
43
+ exports.STR_ENDS_WITH,
44
+ exports.STR_STARTS_WITH,
45
+ exports.STR_CONTAINS,
46
+ exports.IN,
47
+ exports.NOT_IN,
48
+ ];
49
+ exports.NUM_OPERATORS = [exports.NUM_EQ, exports.NUM_GT, exports.NUM_GTE, exports.NUM_LT, exports.NUM_LTE];
50
+ exports.DATE_OPERATORS = [exports.DATE_AFTER, exports.DATE_BEFORE];
51
+ exports.SEMVER_OPERATORS = [exports.SEMVER_EQ, exports.SEMVER_GT, exports.SEMVER_LT];
9
52
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/util/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,SAAS,CAAC;AAExB,QAAA,oBAAoB,GAAG,MAAM,CAAC;AAC9B,QAAA,2BAA2B,GAAG,aAAa,CAAC;AAC5C,QAAA,uBAAuB,GAAG,SAAS,CAAC;AAEpC,QAAA,gBAAgB,GAAG,QAAQ,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/util/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,SAAS,CAAC;AAExB,QAAA,oBAAoB,GAAG,MAAM,CAAC;AAC9B,QAAA,2BAA2B,GAAG,aAAa,CAAC;AAC5C,QAAA,uBAAuB,GAAG,SAAS,CAAC;AAEpC,QAAA,gBAAgB,GAAG,QAAQ,CAAC;AAEzC,6BAA6B;AAEhB,QAAA,MAAM,GAAG,QAAQ,CAAC;AAClB,QAAA,EAAE,GAAG,IAAI,CAAC;AACV,QAAA,aAAa,GAAG,eAAe,CAAC;AAChC,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,MAAM,GAAG,QAAQ,CAAC;AAClB,QAAA,MAAM,GAAG,QAAQ,CAAC;AAClB,QAAA,OAAO,GAAG,SAAS,CAAC;AACpB,QAAA,MAAM,GAAG,QAAQ,CAAC;AAClB,QAAA,OAAO,GAAG,SAAS,CAAC;AACpB,QAAA,UAAU,GAAG,YAAY,CAAC;AAC1B,QAAA,WAAW,GAAG,aAAa,CAAC;AAC5B,QAAA,SAAS,GAAG,WAAW,CAAC;AACxB,QAAA,SAAS,GAAG,WAAW,CAAC;AACxB,QAAA,SAAS,GAAG,WAAW,CAAC;AAExB,QAAA,aAAa,GAAG;IACzB,cAAM;IACN,UAAE;IACF,qBAAa;IACb,uBAAe;IACf,oBAAY;IACZ,cAAM;IACN,cAAM;IACN,eAAO;IACP,cAAM;IACN,eAAO;IACP,kBAAU;IACV,mBAAW;IACX,iBAAS;IACT,iBAAS;IACT,iBAAS;CACZ,CAAC;AAEW,QAAA,gBAAgB,GAAG;IAC5B,qBAAa;IACb,uBAAe;IACf,oBAAY;IACZ,UAAE;IACF,cAAM;CACT,CAAC;AACW,QAAA,aAAa,GAAG,CAAC,cAAM,EAAE,cAAM,EAAE,eAAO,EAAE,cAAM,EAAE,eAAO,CAAC,CAAC;AAC3D,QAAA,cAAc,GAAG,CAAC,kBAAU,EAAE,mBAAW,CAAC,CAAC;AAC3C,QAAA,gBAAgB,GAAG,CAAC,iBAAS,EAAE,iBAAS,EAAE,iBAAS,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ export declare const validateNumber: (value: unknown) => Promise<void>;
2
+ export declare const validateString: (value: unknown) => Promise<void>;
3
+ export declare const validateSemver: (value: unknown) => void;
4
+ export declare const validateDate: (value: unknown) => Promise<void>;
5
+ export declare const validateLegalValues: (legalValues: string[], match: string[] | string) => void;
@@ -0,0 +1,44 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validateLegalValues = exports.validateDate = exports.validateSemver = exports.validateString = exports.validateNumber = void 0;
7
+ const semver_1 = __importDefault(require("semver"));
8
+ const constraint_value_types_1 = require("../../schema/constraint-value-types");
9
+ const bad_data_error_1 = __importDefault(require("../../error/bad-data-error"));
10
+ const validateNumber = async (value) => {
11
+ await constraint_value_types_1.constraintNumberTypeSchema.validateAsync(value);
12
+ };
13
+ exports.validateNumber = validateNumber;
14
+ const validateString = async (value) => {
15
+ await constraint_value_types_1.constraintStringTypeSchema.validateAsync(value);
16
+ };
17
+ exports.validateString = validateString;
18
+ const validateSemver = (value) => {
19
+ const cleanValue = semver_1.default.clean(value) === value;
20
+ const result = semver_1.default.valid(value);
21
+ if (result && cleanValue)
22
+ return;
23
+ throw new bad_data_error_1.default(`the provided value is not a valid semver format. The value provided was: ${value}`);
24
+ };
25
+ exports.validateSemver = validateSemver;
26
+ const validateDate = async (value) => {
27
+ await constraint_value_types_1.constraintDateTypeSchema.validateAsync(value);
28
+ };
29
+ exports.validateDate = validateDate;
30
+ const validateLegalValues = (legalValues, match) => {
31
+ if (Array.isArray(match)) {
32
+ // Compare arrays to arrays
33
+ const valid = match.every((value) => legalValues.includes(value));
34
+ if (!valid)
35
+ throw new bad_data_error_1.default(`input values are not specified as a legal value on this context field`);
36
+ }
37
+ else {
38
+ const valid = legalValues.includes(match);
39
+ if (!valid)
40
+ throw new bad_data_error_1.default(`${match} is not specified as a legal value on this context field`);
41
+ }
42
+ };
43
+ exports.validateLegalValues = validateLegalValues;
44
+ //# sourceMappingURL=constraint-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constraint-types.js","sourceRoot":"","sources":["../../../../src/lib/util/validators/constraint-types.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAE5B,gFAI6C;AAC7C,gFAAsD;AAE/C,MAAM,cAAc,GAAG,KAAK,EAAE,KAAc,EAAiB,EAAE;IAClE,MAAM,mDAA0B,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEK,MAAM,cAAc,GAAG,KAAK,EAAE,KAAc,EAAiB,EAAE;IAClE,MAAM,mDAA0B,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AAC1D,CAAC,CAAC;AAFW,QAAA,cAAc,kBAEzB;AAEK,MAAM,cAAc,GAAG,CAAC,KAAc,EAAQ,EAAE;IACnD,MAAM,UAAU,GAAG,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,KAAK,CAAC;IAEjD,MAAM,MAAM,GAAG,gBAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAEnC,IAAI,MAAM,IAAI,UAAU;QAAE,OAAO;IACjC,MAAM,IAAI,wBAAY,CAClB,4EAA4E,KAAK,EAAE,CACtF,CAAC;AACN,CAAC,CAAC;AATW,QAAA,cAAc,kBASzB;AAEK,MAAM,YAAY,GAAG,KAAK,EAAE,KAAc,EAAiB,EAAE;IAChE,MAAM,iDAAwB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;AACxD,CAAC,CAAC;AAFW,QAAA,YAAY,gBAEvB;AAEK,MAAM,mBAAmB,GAAG,CAC/B,WAAqB,EACrB,KAAwB,EACpB,EAAE;IACN,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;QACtB,2BAA2B;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,KAAK;YACN,MAAM,IAAI,wBAAY,CAClB,uEAAuE,CAC1E,CAAC;KACT;SAAM;QACH,MAAM,KAAK,GAAG,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,KAAK;YACN,MAAM,IAAI,wBAAY,CAClB,GAAG,KAAK,0DAA0D,CACrE,CAAC;KACT;AACL,CAAC,CAAC;AAlBW,QAAA,mBAAmB,uBAkB9B"}
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const constraint_types_1 = require("./constraint-types");
4
+ test('semver validation should throw with bad format', () => {
5
+ const badSemver = 'a.b.c';
6
+ expect.assertions(1);
7
+ try {
8
+ (0, constraint_types_1.validateSemver)(badSemver);
9
+ }
10
+ catch (e) {
11
+ expect(e.message).toBe(`the provided value is not a valid semver format. The value provided was: ${badSemver}`);
12
+ }
13
+ });
14
+ test('semver valdiation should pass with correct format', () => {
15
+ const validSemver = '1.2.3';
16
+ expect.assertions(0);
17
+ try {
18
+ (0, constraint_types_1.validateSemver)(validSemver);
19
+ }
20
+ catch (e) {
21
+ expect(e.message).toBe(`the provided value is not a valid semver format. The value provided was: ${validSemver}`);
22
+ }
23
+ });
24
+ test('semver validation should fail partial semver', () => {
25
+ const partial = '1.2';
26
+ expect.assertions(1);
27
+ try {
28
+ (0, constraint_types_1.validateSemver)(partial);
29
+ }
30
+ catch (e) {
31
+ expect(e.message).toBe(`the provided value is not a valid semver format. The value provided was: ${partial}`);
32
+ }
33
+ });
34
+ test('semver validation should fail with leading v', () => {
35
+ const leadingV = 'v1.2.0';
36
+ expect.assertions(1);
37
+ try {
38
+ (0, constraint_types_1.validateSemver)(leadingV);
39
+ }
40
+ catch (e) {
41
+ expect(e.message).toBe(`the provided value is not a valid semver format. The value provided was: ${leadingV}`);
42
+ }
43
+ });
44
+ /* Legal values tests */
45
+ test('should fail validation if value does not exist in single legal value', () => {
46
+ const legalValues = ['100', '200', '300'];
47
+ const value = '500';
48
+ expect.assertions(1);
49
+ try {
50
+ (0, constraint_types_1.validateLegalValues)(legalValues, value);
51
+ }
52
+ catch (error) {
53
+ expect(error.message).toBe(`${value} is not specified as a legal value on this context field`);
54
+ }
55
+ });
56
+ test('should pass validation if value exists in single legal value', () => {
57
+ const legalValues = ['100', '200', '300'];
58
+ const value = '100';
59
+ expect.assertions(0);
60
+ try {
61
+ (0, constraint_types_1.validateLegalValues)(legalValues, value);
62
+ }
63
+ catch (error) {
64
+ expect(error.message).toBe(`${value} is not specified as a legal value on this context field`);
65
+ }
66
+ });
67
+ test('should fail validation if one of the values does not exist in multiple legal values', () => {
68
+ const legalValues = ['100', '200', '300'];
69
+ const values = ['500', '100'];
70
+ expect.assertions(1);
71
+ try {
72
+ (0, constraint_types_1.validateLegalValues)(legalValues, values);
73
+ }
74
+ catch (error) {
75
+ expect(error.message).toBe(`input values are not specified as a legal value on this context field`);
76
+ }
77
+ });
78
+ test('should pass validation if all of the values exists in legal values', () => {
79
+ const legalValues = ['100', '200', '300'];
80
+ const values = ['200', '100'];
81
+ expect.assertions(0);
82
+ try {
83
+ (0, constraint_types_1.validateLegalValues)(legalValues, values);
84
+ }
85
+ catch (error) {
86
+ expect(error.message).toBe(`input values are not specified as a legal value on this context field`);
87
+ }
88
+ });
89
+ //# sourceMappingURL=constraint-types.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constraint-types.test.js","sourceRoot":"","sources":["../../../../src/lib/util/validators/constraint-types.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export function up(db: any, cb: any): void;
2
+ export function down(db: any, cb: any): void;
@@ -0,0 +1,12 @@
1
+ 'use strict';
2
+ exports.up = function (db, cb) {
3
+ db.runSql(`
4
+ INSERT INTO context_fields(name, description, sort_order) VALUES('currentTime', 'Allows you to constrain on date values', 3);
5
+ `, cb);
6
+ };
7
+ exports.down = function (db, cb) {
8
+ db.runSql(`
9
+ DELETE FROM context_fields WHERE name = 'currentTime';
10
+ `, cb);
11
+ };
12
+ //# sourceMappingURL=20220224111626-add-current-time-context-field.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20220224111626-add-current-time-context-field.js","sourceRoot":"","sources":["../../src/migrations/20220224111626-add-current-time-context-field.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACzB,EAAE,CAAC,MAAM,CACL;;SAEC,EACD,EAAE,CACL,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE,EAAE;IAC3B,EAAE,CAAC,MAAM,CACL;;SAEC,EACD,EAAE,CACL,CAAC;AACN,CAAC,CAAC"}
@@ -521,4 +521,67 @@ test('should change a users role in the project', async () => {
521
521
  expect(customUser[0].id).toBe(projectUser.id);
522
522
  expect(customUser[0].name).toBe(projectUser.name);
523
523
  });
524
+ test('should update role for user on project', async () => {
525
+ const project = {
526
+ id: 'update-users',
527
+ name: 'New project',
528
+ description: 'Blah',
529
+ };
530
+ await projectService.createProject(project, user);
531
+ const projectMember1 = await stores.userStore.insert({
532
+ name: 'Some Member',
533
+ email: 'update99@getunleash.io',
534
+ });
535
+ const memberRole = await stores.roleStore.getRoleByName(model_1.RoleName.MEMBER);
536
+ const ownerRole = await stores.roleStore.getRoleByName(model_1.RoleName.OWNER);
537
+ await projectService.addUser(project.id, memberRole.id, projectMember1.id);
538
+ await projectService.changeRole(project.id, ownerRole.id, projectMember1.id, 'test');
539
+ const { users } = await projectService.getUsersWithAccess(project.id, user);
540
+ const memberUsers = users.filter((u) => u.roleId === memberRole.id);
541
+ const ownerUsers = users.filter((u) => u.roleId === ownerRole.id);
542
+ expect(memberUsers).toHaveLength(0);
543
+ expect(ownerUsers).toHaveLength(2);
544
+ });
545
+ test('should able to assign role without existing members', async () => {
546
+ const project = {
547
+ id: 'update-users-test',
548
+ name: 'New project',
549
+ description: 'Blah',
550
+ };
551
+ await projectService.createProject(project, user);
552
+ const projectMember1 = await stores.userStore.insert({
553
+ name: 'Some Member',
554
+ email: 'update1999@getunleash.io',
555
+ });
556
+ const testRole = await stores.roleStore.create({
557
+ name: 'Power user',
558
+ roleType: 'custom',
559
+ description: 'Grants access to modify all environments',
560
+ });
561
+ const memberRole = await stores.roleStore.getRoleByName(model_1.RoleName.MEMBER);
562
+ await projectService.addUser(project.id, memberRole.id, projectMember1.id);
563
+ await projectService.changeRole(project.id, testRole.id, projectMember1.id, 'test');
564
+ const { users } = await projectService.getUsersWithAccess(project.id, user);
565
+ const memberUsers = users.filter((u) => u.roleId === memberRole.id);
566
+ const testUsers = users.filter((u) => u.roleId === testRole.id);
567
+ expect(memberUsers).toHaveLength(0);
568
+ expect(testUsers).toHaveLength(1);
569
+ });
570
+ test('should not update role for user on project when she is the owner', async () => {
571
+ const project = {
572
+ id: 'update-users-not-allowed',
573
+ name: 'New project',
574
+ description: 'Blah',
575
+ };
576
+ await projectService.createProject(project, user);
577
+ const projectMember1 = await stores.userStore.insert({
578
+ name: 'Some Member',
579
+ email: 'update991@getunleash.io',
580
+ });
581
+ const memberRole = await stores.roleStore.getRoleByName(model_1.RoleName.MEMBER);
582
+ await projectService.addUser(project.id, memberRole.id, projectMember1.id);
583
+ await expect(async () => {
584
+ await projectService.changeRole(project.id, memberRole.id, user.id, 'test');
585
+ }).rejects.toThrowError(new Error('A project must have at least one owner'));
586
+ });
524
587
  //# sourceMappingURL=project-service.e2e.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-service.e2e.test.js","sourceRoot":"","sources":["../../../../src/test/e2e/services/project-service.e2e.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-service.e2e.test.js","sourceRoot":"","sources":["../../../../src/test/e2e/services/project-service.e2e.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { IAccessStore, IRole, IUserPermission, IUserRole } from '../../lib/types/stores/access-store';
2
2
  import { IPermission } from 'lib/types/model';
3
3
  declare class AccessStoreMock implements IAccessStore {
4
+ updateUserProjectRole(userId: number, roleId: number, projectId: string): Promise<void>;
4
5
  removeUserFromRole(userId: number, roleId: number, projectId: string): Promise<void>;
5
6
  wipePermissionsFromRole(role_id: number): Promise<void>;
6
7
  unlinkUserRoles(userId: number): Promise<void>;
@@ -5,6 +5,9 @@ class AccessStoreMock {
5
5
  this.userPermissions = [];
6
6
  this.roles = [];
7
7
  }
8
+ updateUserProjectRole(userId, roleId, projectId) {
9
+ throw new Error('Method not implemented.');
10
+ }
8
11
  removeUserFromRole(userId, roleId, projectId) {
9
12
  throw new Error('Method not implemented.');
10
13
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fake-access-store.js","sourceRoot":"","sources":["../../../src/test/fixtures/fake-access-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fake-access-store.js","sourceRoot":"","sources":["../../../src/test/fixtures/fake-access-store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "unleash-server",
3
3
  "description": "Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.",
4
- "version": "4.8.2",
4
+ "version": "4.9.0-beta.2",
5
5
  "keywords": [
6
6
  "unleash",
7
7
  "feature toggle",
@@ -94,7 +94,7 @@
94
94
  "helmet": "^5.0.0",
95
95
  "joi": "^17.3.0",
96
96
  "js-yaml": "^4.1.0",
97
- "knex": "1.0.3",
97
+ "knex": "1.0.4",
98
98
  "log4js": "^6.0.0",
99
99
  "memoizee": "^0.4.15",
100
100
  "mime": "^2.4.2",
@@ -112,8 +112,9 @@
112
112
  "serve-favicon": "^2.5.0",
113
113
  "stoppable": "^1.1.0",
114
114
  "type-is": "^1.6.18",
115
- "unleash-frontend": "4.8.0",
116
- "uuid": "^8.3.2"
115
+ "unleash-frontend": "4.9.0-beta.2",
116
+ "uuid": "^8.3.2",
117
+ "semver": "^7.3.5"
117
118
  },
118
119
  "devDependencies": {
119
120
  "@babel/core": "7.17.5",
@@ -133,15 +134,15 @@
133
134
  "@types/supertest": "2.0.11",
134
135
  "@types/type-is": "1.6.3",
135
136
  "@types/uuid": "8.3.4",
136
- "@typescript-eslint/eslint-plugin": "5.13.0",
137
- "@typescript-eslint/parser": "5.13.0",
137
+ "@typescript-eslint/eslint-plugin": "5.14.0",
138
+ "@typescript-eslint/parser": "5.14.0",
138
139
  "copyfiles": "2.4.1",
139
140
  "coveralls": "3.1.1",
140
141
  "del-cli": "4.0.1",
141
- "eslint": "8.10.0",
142
+ "eslint": "8.11.0",
142
143
  "eslint-config-airbnb-base": "15.0.0",
143
144
  "eslint-config-airbnb-typescript": "16.0.0",
144
- "eslint-config-prettier": "8.4.0",
145
+ "eslint-config-prettier": "8.5.0",
145
146
  "eslint-plugin-import": "2.25.4",
146
147
  "eslint-plugin-prettier": "4.0.0",
147
148
  "faker": "5.5.3",
@@ -149,15 +150,15 @@
149
150
  "husky": "7.0.4",
150
151
  "jest": "27.5.1",
151
152
  "jest-fetch-mock": "3.0.3",
152
- "lint-staged": "12.3.4",
153
+ "lint-staged": "12.3.5",
153
154
  "prettier": "2.5.1",
154
155
  "proxyquire": "2.1.3",
155
156
  "source-map-support": "0.5.21",
156
157
  "superagent": "7.1.1",
157
158
  "supertest": "6.2.2",
158
159
  "ts-jest": "27.1.3",
159
- "ts-node": "10.5.0",
160
- "tsc-watch": "4.6.0",
160
+ "ts-node": "10.7.0",
161
+ "tsc-watch": "4.6.2",
161
162
  "typescript": "4.6.2"
162
163
  },
163
164
  "resolutions": {