unleash-server 4.2.3 → 4.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 (128) hide show
  1. package/README.md +1 -0
  2. package/dist/lib/create-config.js +5 -15
  3. package/dist/lib/create-config.js.map +1 -1
  4. package/dist/lib/create-config.test.js +0 -37
  5. package/dist/lib/create-config.test.js.map +1 -1
  6. package/dist/lib/db/feature-strategy-store.js +1 -0
  7. package/dist/lib/db/feature-strategy-store.js.map +1 -1
  8. package/dist/lib/db/feature-toggle-store.d.ts +4 -1
  9. package/dist/lib/db/feature-toggle-store.js +27 -2
  10. package/dist/lib/db/feature-toggle-store.js.map +1 -1
  11. package/dist/lib/db/index.js +2 -0
  12. package/dist/lib/db/index.js.map +1 -1
  13. package/dist/lib/db/user-splash-store.d.ts +19 -0
  14. package/dist/lib/db/user-splash-store.js +70 -0
  15. package/dist/lib/db/user-splash-store.js.map +1 -0
  16. package/dist/lib/error/operation-denied-error.d.ts +4 -0
  17. package/dist/lib/error/operation-denied-error.js +24 -0
  18. package/dist/lib/error/operation-denied-error.js.map +1 -0
  19. package/dist/lib/routes/admin-api/context.js +1 -1
  20. package/dist/lib/routes/admin-api/context.js.map +1 -1
  21. package/dist/lib/routes/admin-api/feature.js +2 -2
  22. package/dist/lib/routes/admin-api/feature.js.map +1 -1
  23. package/dist/lib/routes/admin-api/index.js +2 -0
  24. package/dist/lib/routes/admin-api/index.js.map +1 -1
  25. package/dist/lib/routes/admin-api/project/features.js +3 -3
  26. package/dist/lib/routes/admin-api/project/features.js.map +1 -1
  27. package/dist/lib/routes/admin-api/project/index.js +2 -0
  28. package/dist/lib/routes/admin-api/project/index.js.map +1 -1
  29. package/dist/lib/routes/admin-api/project/variants.d.ts +21 -0
  30. package/dist/lib/routes/admin-api/project/variants.js +41 -0
  31. package/dist/lib/routes/admin-api/project/variants.js.map +1 -0
  32. package/dist/lib/routes/admin-api/tag-type.js +1 -1
  33. package/dist/lib/routes/admin-api/tag-type.js.map +1 -1
  34. package/dist/lib/routes/admin-api/user-admin.js +2 -2
  35. package/dist/lib/routes/admin-api/user-admin.js.map +1 -1
  36. package/dist/lib/routes/admin-api/user-feedback-controller.js +3 -2
  37. package/dist/lib/routes/admin-api/user-feedback-controller.js.map +1 -1
  38. package/dist/lib/routes/admin-api/user-splash-controller.d.ts +10 -0
  39. package/dist/lib/routes/admin-api/user-splash-controller.js +29 -0
  40. package/dist/lib/routes/admin-api/user-splash-controller.js.map +1 -0
  41. package/dist/lib/routes/admin-api/user.d.ts +2 -1
  42. package/dist/lib/routes/admin-api/user.js +9 -5
  43. package/dist/lib/routes/admin-api/user.js.map +1 -1
  44. package/dist/lib/routes/auth/reset-password-controller.js +4 -3
  45. package/dist/lib/routes/auth/reset-password-controller.js.map +1 -1
  46. package/dist/lib/routes/client-api/metrics.d.ts +0 -1
  47. package/dist/lib/routes/client-api/metrics.js +4 -11
  48. package/dist/lib/routes/client-api/metrics.js.map +1 -1
  49. package/dist/lib/routes/client-api/register.js +3 -1
  50. package/dist/lib/routes/client-api/register.js.map +1 -1
  51. package/dist/lib/routes/controller.d.ts +5 -5
  52. package/dist/lib/routes/controller.js +13 -9
  53. package/dist/lib/routes/controller.js.map +1 -1
  54. package/dist/lib/routes/util.js +18 -16
  55. package/dist/lib/routes/util.js.map +1 -1
  56. package/dist/lib/schema/feature-schema.d.ts +1 -0
  57. package/dist/lib/schema/feature-schema.js +6 -7
  58. package/dist/lib/schema/feature-schema.js.map +1 -1
  59. package/dist/lib/services/access-service.d.ts +1 -1
  60. package/dist/lib/services/access-service.js +1 -1
  61. package/dist/lib/services/access-service.js.map +1 -1
  62. package/dist/lib/services/client-metrics/client-metrics-service-v2.js +3 -3
  63. package/dist/lib/services/client-metrics/client-metrics-service-v2.js.map +1 -1
  64. package/dist/lib/services/feature-toggle-service.d.ts +11 -2
  65. package/dist/lib/services/feature-toggle-service.js +57 -2
  66. package/dist/lib/services/feature-toggle-service.js.map +1 -1
  67. package/dist/lib/services/index.js +3 -0
  68. package/dist/lib/services/index.js.map +1 -1
  69. package/dist/lib/services/project-health-service.js +1 -0
  70. package/dist/lib/services/project-health-service.js.map +1 -1
  71. package/dist/lib/services/project-service.d.ts +0 -1
  72. package/dist/lib/services/project-service.js +7 -15
  73. package/dist/lib/services/project-service.js.map +1 -1
  74. package/dist/lib/services/user-splash-service.d.ts +12 -0
  75. package/dist/lib/services/user-splash-service.js +33 -0
  76. package/dist/lib/services/user-splash-service.js.map +1 -0
  77. package/dist/lib/types/model.d.ts +4 -0
  78. package/dist/lib/types/model.js +6 -1
  79. package/dist/lib/types/model.js.map +1 -1
  80. package/dist/lib/types/permissions.d.ts +1 -0
  81. package/dist/lib/types/permissions.js +3 -1
  82. package/dist/lib/types/permissions.js.map +1 -1
  83. package/dist/lib/types/services.d.ts +2 -0
  84. package/dist/lib/types/stores/feature-toggle-store.d.ts +3 -1
  85. package/dist/lib/types/stores/user-splash-store.d.ts +15 -0
  86. package/dist/lib/types/stores/user-splash-store.js +3 -0
  87. package/dist/lib/types/stores/user-splash-store.js.map +1 -0
  88. package/dist/lib/types/stores.d.ts +2 -0
  89. package/dist/migrations/20211108130333-create-user-splash-table.d.ts +2 -0
  90. package/dist/migrations/20211108130333-create-user-splash-table.js +18 -0
  91. package/dist/migrations/20211108130333-create-user-splash-table.js.map +1 -0
  92. package/dist/migrations/20211109103930-add-splash-entry-for-users.d.ts +2 -0
  93. package/dist/migrations/20211109103930-add-splash-entry-for-users.js +7 -0
  94. package/dist/migrations/20211109103930-add-splash-entry-for-users.js.map +1 -0
  95. package/dist/migrations/20211126112551-disable-default-environment.d.ts +2 -0
  96. package/dist/migrations/20211126112551-disable-default-environment.js +24 -0
  97. package/dist/migrations/20211126112551-disable-default-environment.js.map +1 -0
  98. package/dist/test/e2e/api/admin/client-metrics.e2e.test.js +2 -2
  99. package/dist/test/e2e/api/admin/client-metrics.e2e.test.js.map +1 -1
  100. package/dist/test/e2e/api/admin/feature.e2e.test.js +24 -18
  101. package/dist/test/e2e/api/admin/feature.e2e.test.js.map +1 -1
  102. package/dist/test/e2e/api/admin/project/features.auth.e2e.test.d.ts +1 -0
  103. package/dist/test/e2e/api/admin/project/features.auth.e2e.test.js +61 -0
  104. package/dist/test/e2e/api/admin/project/features.auth.e2e.test.js.map +1 -0
  105. package/dist/test/e2e/api/admin/project/features.e2e.test.js +25 -0
  106. package/dist/test/e2e/api/admin/project/features.e2e.test.js.map +1 -1
  107. package/dist/test/e2e/api/admin/project/project.health.e2e.test.js +60 -0
  108. package/dist/test/e2e/api/admin/project/project.health.e2e.test.js.map +1 -1
  109. package/dist/test/e2e/api/admin/project/variants.e2e.test.d.ts +1 -0
  110. package/dist/test/e2e/api/admin/project/variants.e2e.test.js +727 -0
  111. package/dist/test/e2e/api/admin/project/variants.e2e.test.js.map +1 -0
  112. package/dist/test/e2e/api/admin/splash.e2e.test.d.ts +1 -0
  113. package/dist/test/e2e/api/admin/splash.e2e.test.js +51 -0
  114. package/dist/test/e2e/api/admin/splash.e2e.test.js.map +1 -0
  115. package/dist/test/e2e/services/project-service.e2e.test.js +0 -30
  116. package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
  117. package/dist/test/e2e/stores/user-splash-store.e2e.test.d.ts +1 -0
  118. package/dist/test/e2e/stores/user-splash-store.e2e.test.js +74 -0
  119. package/dist/test/e2e/stores/user-splash-store.e2e.test.js.map +1 -0
  120. package/dist/test/fixtures/fake-feature-toggle-store.d.ts +3 -1
  121. package/dist/test/fixtures/fake-feature-toggle-store.js +9 -0
  122. package/dist/test/fixtures/fake-feature-toggle-store.js.map +1 -1
  123. package/dist/test/fixtures/fake-user-splash-store.d.ts +12 -0
  124. package/dist/test/fixtures/fake-user-splash-store.js +40 -0
  125. package/dist/test/fixtures/fake-user-splash-store.js.map +1 -0
  126. package/dist/test/fixtures/store.js +2 -0
  127. package/dist/test/fixtures/store.js.map +1 -1
  128. package/package.json +17 -16
@@ -1,6 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.RoleType = exports.RoleName = exports.PermissionType = void 0;
3
+ exports.RoleType = exports.RoleName = exports.PermissionType = exports.WeightType = void 0;
4
+ var WeightType;
5
+ (function (WeightType) {
6
+ WeightType["VARIABLE"] = "variable";
7
+ WeightType["FIX"] = "fix";
8
+ })(WeightType = exports.WeightType || (exports.WeightType = {}));
4
9
  var PermissionType;
5
10
  (function (PermissionType) {
6
11
  PermissionType["root"] = "root";
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/lib/types/model.ts"],"names":[],"mappings":";;;AA0NA,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,+BAAa,CAAA;IACb,qCAAmB,CAAA;AACvB,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB;AAED,IAAY,QAOX;AAPD,WAAY,QAAQ;IAChB,wDAAwD;IACxD,2BAAe,CAAA;IACf,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,2BAAe,CAAA;IACf,6BAAiB,CAAA;AACrB,CAAC,EAPW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAOnB;AAED,IAAY,QAGX;AAHD,WAAY,QAAQ;IAChB,yBAAa,CAAA;IACb,+BAAmB,CAAA;AACvB,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/lib/types/model.ts"],"names":[],"mappings":";;;AAUA,IAAY,UAGX;AAHD,WAAY,UAAU;IAClB,mCAAqB,CAAA;IACrB,yBAAW,CAAA;AACf,CAAC,EAHW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QAGrB;AAgND,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,+BAAa,CAAA;IACb,qCAAmB,CAAA;AACvB,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB;AAED,IAAY,QAOX;AAPD,WAAY,QAAQ;IAChB,wDAAwD;IACxD,2BAAe,CAAA;IACf,6BAAiB,CAAA;IACjB,6BAAiB,CAAA;IACjB,2BAAe,CAAA;IACf,6BAAiB,CAAA;AACrB,CAAC,EAPW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAOnB;AAED,IAAY,QAGX;AAHD,WAAY,QAAQ;IAChB,yBAAa,CAAA;IACb,+BAAmB,CAAA;AACvB,CAAC,EAHW,QAAQ,GAAR,gBAAQ,KAAR,gBAAQ,QAGnB"}
@@ -1,5 +1,6 @@
1
1
  export declare const ADMIN = "ADMIN";
2
2
  export declare const CLIENT = "CLIENT";
3
+ export declare const NONE = "NONE";
3
4
  export declare const CREATE_FEATURE = "CREATE_FEATURE";
4
5
  export declare const UPDATE_FEATURE = "UPDATE_FEATURE";
5
6
  export declare const DELETE_FEATURE = "DELETE_FEATURE";
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DELETE_TAG_TYPE = exports.UPDATE_TAG_TYPE = exports.DELETE_API_TOKEN = exports.CREATE_API_TOKEN = exports.UPDATE_API_TOKEN = exports.UPDATE_ROLE = exports.READ_ROLE = exports.DELETE_ADDON = exports.UPDATE_ADDON = exports.CREATE_ADDON = exports.DELETE_PROJECT = exports.UPDATE_PROJECT = exports.CREATE_PROJECT = exports.DELETE_CONTEXT_FIELD = exports.UPDATE_CONTEXT_FIELD = exports.CREATE_CONTEXT_FIELD = exports.UPDATE_APPLICATION = exports.DELETE_STRATEGY = exports.UPDATE_STRATEGY = exports.CREATE_STRATEGY = exports.DELETE_FEATURE = exports.UPDATE_FEATURE = exports.CREATE_FEATURE = exports.CLIENT = exports.ADMIN = void 0;
3
+ exports.DELETE_TAG_TYPE = exports.UPDATE_TAG_TYPE = exports.DELETE_API_TOKEN = exports.CREATE_API_TOKEN = exports.UPDATE_API_TOKEN = exports.UPDATE_ROLE = exports.READ_ROLE = exports.DELETE_ADDON = exports.UPDATE_ADDON = exports.CREATE_ADDON = exports.DELETE_PROJECT = exports.UPDATE_PROJECT = exports.CREATE_PROJECT = exports.DELETE_CONTEXT_FIELD = exports.UPDATE_CONTEXT_FIELD = exports.CREATE_CONTEXT_FIELD = exports.UPDATE_APPLICATION = exports.DELETE_STRATEGY = exports.UPDATE_STRATEGY = exports.CREATE_STRATEGY = exports.DELETE_FEATURE = exports.UPDATE_FEATURE = exports.CREATE_FEATURE = exports.NONE = exports.CLIENT = exports.ADMIN = void 0;
4
+ // Special
4
5
  exports.ADMIN = 'ADMIN';
5
6
  exports.CLIENT = 'CLIENT';
7
+ exports.NONE = 'NONE';
6
8
  exports.CREATE_FEATURE = 'CREATE_FEATURE';
7
9
  exports.UPDATE_FEATURE = 'UPDATE_FEATURE';
8
10
  exports.DELETE_FEATURE = 'DELETE_FEATURE';
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/lib/types/permissions.ts"],"names":[],"mappings":";;;AAAa,QAAA,KAAK,GAAG,OAAO,CAAC;AAChB,QAAA,MAAM,GAAG,QAAQ,CAAC;AAClB,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAC1C,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAC9C,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAC9C,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAC9C,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,SAAS,GAAG,WAAW,CAAC;AACxB,QAAA,WAAW,GAAG,aAAa,CAAC;AAC5B,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,eAAe,GAAG,iBAAiB,CAAC"}
1
+ {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../../../src/lib/types/permissions.ts"],"names":[],"mappings":";;;AAAA,UAAU;AACG,QAAA,KAAK,GAAG,OAAO,CAAC;AAChB,QAAA,MAAM,GAAG,QAAQ,CAAC;AAClB,QAAA,IAAI,GAAG,MAAM,CAAC;AAEd,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,kBAAkB,GAAG,oBAAoB,CAAC;AAC1C,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAC9C,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAC9C,QAAA,oBAAoB,GAAG,sBAAsB,CAAC;AAC9C,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,cAAc,GAAG,gBAAgB,CAAC;AAClC,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,YAAY,GAAG,cAAc,CAAC;AAC9B,QAAA,SAAS,GAAG,WAAW,CAAC;AACxB,QAAA,WAAW,GAAG,aAAa,CAAC;AAC5B,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,gBAAgB,GAAG,kBAAkB,CAAC;AACtC,QAAA,eAAe,GAAG,iBAAiB,CAAC;AACpC,QAAA,eAAe,GAAG,iBAAiB,CAAC"}
@@ -23,6 +23,7 @@ import EnvironmentService from '../services/environment-service';
23
23
  import FeatureTagService from '../services/feature-tag-service';
24
24
  import ProjectHealthService from '../services/project-health-service';
25
25
  import ClientMetricsServiceV2 from '../services/client-metrics/client-metrics-service-v2';
26
+ import UserSplashService from '../services/user-splash-service';
26
27
  export interface IUnleashServices {
27
28
  accessService: AccessService;
28
29
  addonService: AddonService;
@@ -50,4 +51,5 @@ export interface IUnleashServices {
50
51
  userFeedbackService: UserFeedbackService;
51
52
  userService: UserService;
52
53
  versionService: VersionService;
54
+ userSplashService: UserSplashService;
53
55
  }
@@ -1,4 +1,4 @@
1
- import { FeatureToggle, FeatureToggleDTO } from '../model';
1
+ import { FeatureToggle, FeatureToggleDTO, IVariant } from '../model';
2
2
  import { Store } from './store';
3
3
  export interface IFeatureToggleQuery {
4
4
  archived: boolean;
@@ -14,4 +14,6 @@ export interface IFeatureToggleStore extends Store<FeatureToggle, string> {
14
14
  archive(featureName: string): Promise<FeatureToggle>;
15
15
  revive(featureName: string): Promise<FeatureToggle>;
16
16
  getAll(query?: Partial<IFeatureToggleQuery>): Promise<FeatureToggle[]>;
17
+ getVariants(featureName: string): Promise<IVariant[]>;
18
+ saveVariants(featureName: string, newVariants: IVariant[]): Promise<FeatureToggle>;
17
19
  }
@@ -0,0 +1,15 @@
1
+ import { Store } from './store';
2
+ export interface IUserSplash {
3
+ seen: boolean;
4
+ splashId: string;
5
+ userId: number;
6
+ }
7
+ export interface IUserSplashKey {
8
+ userId: number;
9
+ splashId: string;
10
+ }
11
+ export interface IUserSplashStore extends Store<IUserSplash, IUserSplashKey> {
12
+ getAllUserSplashs(userId: number): Promise<IUserSplash[]>;
13
+ getSplash(userId: number, splashId: string): Promise<IUserSplash>;
14
+ updateSplash(splash: IUserSplash): Promise<IUserSplash>;
15
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=user-splash-store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"user-splash-store.js","sourceRoot":"","sources":["../../../../src/lib/types/stores/user-splash-store.ts"],"names":[],"mappings":""}
@@ -23,6 +23,7 @@ import { IFeatureStrategiesStore } from './stores/feature-strategies-store';
23
23
  import { IEnvironmentStore } from './stores/environment-store';
24
24
  import { IFeatureToggleClientStore } from './stores/feature-toggle-client-store';
25
25
  import { IClientMetricsStoreV2 } from './stores/client-metrics-store-v2';
26
+ import { IUserSplashStore } from './stores/user-splash-store';
26
27
  export interface IUnleashStores {
27
28
  accessStore: IAccessStore;
28
29
  addonStore: IAddonStore;
@@ -49,4 +50,5 @@ export interface IUnleashStores {
49
50
  tagTypeStore: ITagTypeStore;
50
51
  userFeedbackStore: IUserFeedbackStore;
51
52
  userStore: IUserStore;
53
+ userSplashStore: IUserSplashStore;
52
54
  }
@@ -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,18 @@
1
+ 'use strict';
2
+ exports.up = function (db, cb) {
3
+ db.runSql(`
4
+ CREATE TABLE IF NOT EXISTS user_splash
5
+ (user_id INTEGER NOT NULL references users (id) ON DELETE CASCADE,
6
+ splash_id TEXT,
7
+ seen BOOLEAN NOT NULL DEFAULT false,
8
+ PRIMARY KEY (user_id, splash_id));
9
+ CREATE INDEX user_splash_user_id_idx ON user_splash (user_id);
10
+ `, cb);
11
+ };
12
+ exports.down = function (db, cb) {
13
+ db.runSql(`
14
+ DROP INDEX user_splash_user_id_idx;
15
+ DROP TABLE user_splash;
16
+ `, cb);
17
+ };
18
+ //# sourceMappingURL=20211108130333-create-user-splash-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20211108130333-create-user-splash-table.js","sourceRoot":"","sources":["../../src/migrations/20211108130333-create-user-splash-table.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACzB,EAAE,CAAC,MAAM,CACL;;;;;;;SAOC,EACD,EAAE,CACL,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE,EAAE;IAC3B,EAAE,CAAC,MAAM,CACL;;;CAGP,EACO,EAAE,CACL,CAAC;AACN,CAAC,CAAC"}
@@ -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,7 @@
1
+ exports.up = function (db, cb) {
2
+ db.runSql(`INSERT INTO user_splash(splash_id, user_id, seen) SELECT 'environment', u.id, false FROM users u`, cb);
3
+ };
4
+ exports.down = function (db, cb) {
5
+ db.runSql('DELETE FROM user_splash', cb);
6
+ };
7
+ //# sourceMappingURL=20211109103930-add-splash-entry-for-users.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20211109103930-add-splash-entry-for-users.js","sourceRoot":"","sources":["../../src/migrations/20211109103930-add-splash-entry-for-users.js"],"names":[],"mappings":"AAAA,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACzB,EAAE,CAAC,MAAM,CACL,kGAAkG,EAClG,EAAE,CACL,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE,EAAE;IAC3B,EAAE,CAAC,MAAM,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;AAC7C,CAAC,CAAC"}
@@ -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,24 @@
1
+ exports.up = function (db, cb) {
2
+ db.runSql(`
3
+ UPDATE environments
4
+ SET enabled = false
5
+ WHERE name = 'default'
6
+ AND NOT EXISTS (select * from features);
7
+
8
+ DELETE FROM project_environments
9
+ WHERE environment_name = 'default'
10
+ AND NOT EXISTS (select * from features);
11
+
12
+ INSERT INTO project_environments(project_id, environment_name)
13
+ SELECT 'default', 'development'
14
+ WHERE NOT EXISTS (select * from features);
15
+
16
+ INSERT INTO project_environments(project_id, environment_name)
17
+ SELECT 'default', 'production'
18
+ WHERE NOT EXISTS (select * from features);
19
+ `, cb);
20
+ };
21
+ exports.down = function (db, cb) {
22
+ db.runSql('', cb);
23
+ };
24
+ //# sourceMappingURL=20211126112551-disable-default-environment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"20211126112551-disable-default-environment.js","sourceRoot":"","sources":["../../src/migrations/20211126112551-disable-default-environment.js"],"names":[],"mappings":"AAAA,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACzB,EAAE,CAAC,MAAM,CACL;;;;;;;;;;;;;;;;;OAiBD,EACC,EAAE,CACL,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE,EAAE;IAC3B,EAAE,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;AACtB,CAAC,CAAC"}
@@ -160,7 +160,7 @@ test('should return toggle summary', async () => {
160
160
  });
161
161
  test('should only include last hour of metrics return toggle summary', async () => {
162
162
  const now = new Date();
163
- const dateOneHourAgo = (0, date_fns_1.subHours)(now, 1);
163
+ const dateTwoHoursAgo = (0, date_fns_1.subHours)(now, 2);
164
164
  const metrics = [
165
165
  {
166
166
  featureName: 'demo',
@@ -198,7 +198,7 @@ test('should only include last hour of metrics return toggle summary', async ()
198
198
  featureName: 'demo',
199
199
  appName: 'backend-api',
200
200
  environment: 'test',
201
- timestamp: dateOneHourAgo,
201
+ timestamp: dateTwoHoursAgo,
202
202
  yes: 55,
203
203
  no: 55,
204
204
  },
@@ -1 +1 @@
1
- {"version":3,"file":"client-metrics.e2e.test.js","sourceRoot":"","sources":["../../../../../src/test/e2e/api/admin/client-metrics.e2e.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-metrics.e2e.test.js","sourceRoot":"","sources":["../../../../../src/test/e2e/api/admin/client-metrics.e2e.test.ts"],"names":[],"mappings":"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"}
@@ -22,6 +22,9 @@ beforeAll(async () => {
22
22
  await app.services.featureToggleServiceV2.createFeatureToggle(projectId, toggle, username);
23
23
  await app.services.featureToggleServiceV2.createStrategy(strategy, { projectId, featureName: toggle.name, environment: constants_1.DEFAULT_ENV }, username);
24
24
  };
25
+ const createVariants = async (featureName, variants) => {
26
+ await app.services.featureToggleServiceV2.saveVariants(featureName, variants);
27
+ };
25
28
  await createToggle({
26
29
  name: 'featureX',
27
30
  description: 'the #1 feature',
@@ -80,23 +83,23 @@ beforeAll(async () => {
80
83
  await createToggle({
81
84
  name: 'feature.with.variants',
82
85
  description: 'A feature toggle with variants',
83
- variants: [
84
- {
85
- name: 'control',
86
- weight: 50,
87
- weightType: 'variable',
88
- overrides: [],
89
- stickiness: 'default',
90
- },
91
- {
92
- name: 'new',
93
- weight: 50,
94
- weightType: 'variable',
95
- overrides: [],
96
- stickiness: 'default',
97
- },
98
- ],
99
86
  });
87
+ await createVariants('feature.with.variants', [
88
+ {
89
+ name: 'control',
90
+ weight: 50,
91
+ weightType: 'variable',
92
+ overrides: [],
93
+ stickiness: 'default',
94
+ },
95
+ {
96
+ name: 'new',
97
+ weight: 50,
98
+ weightType: 'variable',
99
+ overrides: [],
100
+ stickiness: 'default',
101
+ },
102
+ ]);
100
103
  });
101
104
  afterAll(async () => {
102
105
  await app.destroy();
@@ -137,7 +140,7 @@ test('creates new feature toggle', async () => {
137
140
  });
138
141
  });
139
142
  test('creates new feature toggle with variants', async () => {
140
- expect.assertions(0);
143
+ expect.assertions(1);
141
144
  return app.request
142
145
  .post('/api/admin/features')
143
146
  .send({
@@ -150,7 +153,10 @@ test('creates new feature toggle with variants', async () => {
150
153
  ],
151
154
  })
152
155
  .set('Content-Type', 'application/json')
153
- .expect(201);
156
+ .expect(201)
157
+ .expect((res) => {
158
+ expect(res.body.variants).toHaveLength(2);
159
+ });
154
160
  });
155
161
  test('fetch feature toggle with variants', async () => {
156
162
  expect.assertions(1);
@@ -1 +1 @@
1
- {"version":3,"file":"feature.e2e.test.js","sourceRoot":"","sources":["../../../../../src/test/e2e/api/admin/feature.e2e.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"feature.e2e.test.js","sourceRoot":"","sources":["../../../../../src/test/e2e/api/admin/feature.e2e.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
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
+ const database_init_1 = __importDefault(require("../../../helpers/database-init"));
7
+ const test_helper_1 = require("../../../helpers/test-helper");
8
+ const no_logger_1 = __importDefault(require("../../../../fixtures/no-logger"));
9
+ const constants_1 = require("../../../../../lib/util/constants");
10
+ const server_impl_1 = require("../../../../../lib/server-impl");
11
+ let app;
12
+ let db;
13
+ beforeAll(async () => {
14
+ db = await (0, database_init_1.default)('feature_strategy_auth_api_serial', no_logger_1.default);
15
+ app = await (0, test_helper_1.setupAppWithAuth)(db.stores);
16
+ });
17
+ afterEach(async () => {
18
+ const all = await db.stores.projectStore.getEnvironmentsForProject('default');
19
+ await Promise.all(all
20
+ .filter((env) => env !== constants_1.DEFAULT_ENV)
21
+ .map(async (env) => db.stores.projectStore.deleteEnvironmentForProject('default', env)));
22
+ });
23
+ afterAll(async () => {
24
+ await app.destroy();
25
+ await db.destroy();
26
+ });
27
+ test('Should not be possible to update feature toggle without permission', async () => {
28
+ const email = 'user@mail.com';
29
+ const url = '/api/admin/projects/default/features';
30
+ const name = 'auth.toggle.update';
31
+ await db.stores.featureToggleStore.create('default', { name });
32
+ await app.services.userService.createUser({
33
+ email,
34
+ rootRole: server_impl_1.RoleName.VIEWER,
35
+ });
36
+ await app.request.post('/auth/demo/login').send({
37
+ email,
38
+ });
39
+ await app.request
40
+ .put(`${url}/${name}`)
41
+ .send({ name, description: 'updated', type: 'kill-switch' })
42
+ .expect(403);
43
+ });
44
+ test('Should be possible to update feature toggle with permission', async () => {
45
+ const email = 'user2@mail.com';
46
+ const url = '/api/admin/projects/default/features';
47
+ const name = 'auth.toggle.update2';
48
+ await db.stores.featureToggleStore.create('default', { name });
49
+ await app.services.userService.createUser({
50
+ email,
51
+ rootRole: server_impl_1.RoleName.EDITOR,
52
+ });
53
+ await app.request.post('/auth/demo/login').send({
54
+ email,
55
+ });
56
+ await app.request
57
+ .put(`${url}/${name}`)
58
+ .send({ name, description: 'updated', type: 'kill-switch' })
59
+ .expect(200);
60
+ });
61
+ //# sourceMappingURL=features.auth.e2e.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"features.auth.e2e.test.js","sourceRoot":"","sources":["../../../../../../src/test/e2e/api/admin/project/features.auth.e2e.test.ts"],"names":[],"mappings":"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"}
@@ -471,6 +471,31 @@ test('Patching feature toggles to stale should trigger FEATURE_STALE_ON event',
471
471
  const updateForOurToggle = events.find((e) => e.featureName === name);
472
472
  expect(updateForOurToggle).toBeTruthy();
473
473
  });
474
+ test('Trying to patch variants on a feature toggle should trigger an OperationDeniedError', async () => {
475
+ const url = '/api/admin/projects/default/features';
476
+ const name = 'toggle.variants.on.patch';
477
+ await app.request
478
+ .post(url)
479
+ .send({ name, description: 'some', type: 'release', stale: false });
480
+ await app.request
481
+ .patch(`${url}/${name}`)
482
+ .send([
483
+ {
484
+ op: 'add',
485
+ path: '/variants/1',
486
+ value: {
487
+ name: 'variant',
488
+ weightType: 'variable',
489
+ weight: 500,
490
+ stickiness: 'default',
491
+ },
492
+ },
493
+ ])
494
+ .expect(403)
495
+ .expect((res) => {
496
+ expect(res.body.details[0].message).toEqual('Changing variants is done via PATCH operation to /api/admin/projects/:project/features/:feature/variants');
497
+ });
498
+ });
474
499
  test('Patching feature toggles to active (turning stale to false) should trigger FEATURE_STALE_OFF event', async () => {
475
500
  const url = '/api/admin/projects/default/features';
476
501
  const name = 'toggle.stale.off.patch';