unleash-server 4.2.0-2 → 4.2.0-beta.4
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/README.md +4 -1
- package/dist/lib/addons/datadog-definition.js +7 -0
- package/dist/lib/addons/datadog-definition.js.map +1 -1
- package/dist/lib/addons/datadog.d.ts +5 -0
- package/dist/lib/addons/datadog.js +53 -0
- package/dist/lib/addons/datadog.js.map +1 -1
- package/dist/lib/addons/datadog.test.js +26 -1
- package/dist/lib/addons/datadog.test.js.map +1 -1
- package/dist/lib/addons/slack-definition.js +7 -0
- package/dist/lib/addons/slack-definition.js.map +1 -1
- package/dist/lib/addons/slack.d.ts +5 -0
- package/dist/lib/addons/slack.js +53 -0
- package/dist/lib/addons/slack.js.map +1 -1
- package/dist/lib/addons/slack.test.js +25 -0
- package/dist/lib/addons/slack.test.js.map +1 -1
- package/dist/lib/addons/teams-definition.js +7 -0
- package/dist/lib/addons/teams-definition.js.map +1 -1
- package/dist/lib/addons/teams.d.ts +5 -0
- package/dist/lib/addons/teams.js +53 -0
- package/dist/lib/addons/teams.js.map +1 -1
- package/dist/lib/addons/teams.test.js +25 -0
- package/dist/lib/addons/teams.test.js.map +1 -1
- package/dist/lib/addons/webhook-definition.js +8 -0
- package/dist/lib/addons/webhook-definition.js.map +1 -1
- package/dist/lib/app.js +3 -2
- package/dist/lib/app.js.map +1 -1
- package/dist/lib/create-config.js +25 -3
- package/dist/lib/create-config.js.map +1 -1
- package/dist/{test/e2e/api/admin/project/feature.strategy.e2e.test.d.ts → lib/create-config.test.d.ts} +0 -0
- package/dist/lib/create-config.test.js +57 -0
- package/dist/lib/create-config.test.js.map +1 -0
- package/dist/lib/db/client-instance-store.js +5 -2
- package/dist/lib/db/client-instance-store.js.map +1 -1
- package/dist/lib/db/client-metrics-store-v2.d.ts +19 -0
- package/dist/lib/db/client-metrics-store-v2.js +126 -0
- package/dist/lib/db/client-metrics-store-v2.js.map +1 -0
- package/dist/lib/db/context-field-store.d.ts +5 -5
- package/dist/lib/db/context-field-store.js +2 -7
- package/dist/lib/db/context-field-store.js.map +1 -1
- package/dist/lib/db/feature-environment-store.d.ts +1 -0
- package/dist/lib/db/feature-environment-store.js +13 -1
- package/dist/lib/db/feature-environment-store.js.map +1 -1
- package/dist/lib/db/feature-strategy-store.d.ts +1 -0
- package/dist/lib/db/feature-strategy-store.js +13 -1
- package/dist/lib/db/feature-strategy-store.js.map +1 -1
- package/dist/lib/db/feature-toggle-client-store.js +5 -7
- package/dist/lib/db/feature-toggle-client-store.js.map +1 -1
- package/dist/lib/db/index.js +2 -0
- package/dist/lib/db/index.js.map +1 -1
- package/dist/lib/middleware/demo-authentication.d.ts +2 -1
- package/dist/lib/middleware/demo-authentication.js +33 -10
- package/dist/lib/middleware/demo-authentication.js.map +1 -1
- package/dist/lib/routes/admin-api/client-metrics.d.ts +12 -0
- package/dist/lib/routes/admin-api/client-metrics.js +35 -0
- package/dist/lib/routes/admin-api/client-metrics.js.map +1 -0
- package/dist/lib/routes/admin-api/index.js +2 -0
- package/dist/lib/routes/admin-api/index.js.map +1 -1
- package/dist/lib/routes/admin-api/project/features.d.ts +5 -1
- package/dist/lib/routes/admin-api/project/features.js +12 -6
- package/dist/lib/routes/admin-api/project/features.js.map +1 -1
- package/dist/lib/routes/client-api/metrics.d.ts +5 -1
- package/dist/lib/routes/client-api/metrics.js +22 -5
- package/dist/lib/routes/client-api/metrics.js.map +1 -1
- package/dist/lib/routes/client-api/metrics.test.js +25 -2
- package/dist/lib/routes/client-api/metrics.test.js.map +1 -1
- package/dist/lib/routes/client-api/register.d.ts +4 -2
- package/dist/lib/routes/client-api/register.js +15 -2
- package/dist/lib/routes/client-api/register.js.map +1 -1
- package/dist/lib/server-impl.js +1 -0
- package/dist/lib/server-impl.js.map +1 -1
- package/dist/lib/services/access-service.js +4 -2
- package/dist/lib/services/access-service.js.map +1 -1
- package/dist/lib/services/client-metrics/client-metrics-service-v2.d.ts +16 -0
- package/dist/lib/services/client-metrics/client-metrics-service-v2.js +68 -0
- package/dist/lib/services/client-metrics/client-metrics-service-v2.js.map +1 -0
- package/dist/lib/services/client-metrics/index.d.ts +0 -1
- package/dist/lib/services/client-metrics/index.js.map +1 -1
- package/dist/lib/services/client-metrics/register-schema.js +1 -0
- package/dist/lib/services/client-metrics/register-schema.js.map +1 -1
- package/dist/lib/services/event-service.js.map +1 -1
- package/dist/lib/services/feature-toggle-service-v2.d.ts +11 -4
- package/dist/lib/services/feature-toggle-service-v2.js +58 -12
- package/dist/lib/services/feature-toggle-service-v2.js.map +1 -1
- package/dist/lib/services/index.js +3 -0
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/project-service.js +1 -0
- package/dist/lib/services/project-service.js.map +1 -1
- package/dist/lib/services/user-service.js +2 -2
- package/dist/lib/services/user-service.js.map +1 -1
- package/dist/lib/types/model.d.ts +2 -1
- package/dist/lib/types/model.js.map +1 -1
- package/dist/lib/types/models/metrics.d.ts +11 -0
- package/dist/lib/types/models/metrics.js +3 -0
- package/dist/lib/types/models/metrics.js.map +1 -0
- package/dist/lib/types/option.d.ts +16 -1
- package/dist/lib/types/services.d.ts +2 -0
- package/dist/lib/types/stores/client-instance-store.d.ts +1 -0
- package/dist/lib/types/stores/client-metrics-store-v2.d.ts +17 -0
- package/dist/lib/types/stores/client-metrics-store-v2.js +3 -0
- package/dist/lib/types/stores/client-metrics-store-v2.js.map +1 -0
- package/dist/lib/types/stores/feature-environment-store.d.ts +1 -0
- package/dist/lib/types/stores/feature-strategies-store.d.ts +1 -0
- package/dist/lib/types/stores.d.ts +2 -0
- package/dist/migrations/20211004104917-client-metrics-env.d.ts +2 -0
- package/dist/migrations/20211004104917-client-metrics-env.js +22 -0
- package/dist/migrations/20211004104917-client-metrics-env.js.map +1 -0
- package/dist/migrations/20211011094226-add-environment-to-client-instances.d.ts +5 -0
- package/dist/migrations/20211011094226-add-environment-to-client-instances.js +21 -0
- package/dist/migrations/20211011094226-add-environment-to-client-instances.js.map +1 -0
- package/dist/migrations/20211013093114-feature-strategies-parameters-not-null.d.ts +2 -0
- package/dist/migrations/20211013093114-feature-strategies-parameters-not-null.js +12 -0
- package/dist/migrations/20211013093114-feature-strategies-parameters-not-null.js.map +1 -0
- package/dist/server-dev.js +5 -0
- package/dist/server-dev.js.map +1 -1
- package/dist/test/e2e/api/admin/client-metrics.e2e.test.d.ts +1 -0
- package/dist/test/e2e/api/admin/client-metrics.e2e.test.js +219 -0
- package/dist/test/e2e/api/admin/client-metrics.e2e.test.js.map +1 -0
- package/dist/test/e2e/api/admin/context.e2e.test.js +23 -0
- package/dist/test/e2e/api/admin/context.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/features.e2e.test.d.ts +1 -0
- package/dist/test/e2e/api/admin/project/{feature.strategy.e2e.test.js → features.e2e.test.js} +321 -1
- package/dist/test/e2e/api/admin/project/features.e2e.test.js.map +1 -0
- package/dist/test/e2e/api/admin/project/project.health.e2e.test.js +74 -0
- package/dist/test/e2e/api/admin/project/project.health.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.e2e.test.js +11 -12
- package/dist/test/e2e/api/client/feature.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js +1 -1
- package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/metrics.e2e.test.js +2 -5
- package/dist/test/e2e/api/client/metrics.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/metricsV2.e2e.test.d.ts +1 -0
- package/dist/test/e2e/api/client/metricsV2.e2e.test.js +95 -0
- package/dist/test/e2e/api/client/metricsV2.e2e.test.js.map +1 -0
- package/dist/test/e2e/helpers/test-helper.d.ts +1 -1
- package/dist/test/e2e/helpers/test-helper.js +4 -5
- package/dist/test/e2e/helpers/test-helper.js.map +1 -1
- package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js +1 -1
- package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/user-service.e2e.test.js +12 -0
- package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.d.ts +1 -0
- package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.js +338 -0
- package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.js.map +1 -0
- package/dist/test/e2e/stores/feature-strategies-store.e2e.test.d.ts +1 -0
- package/dist/test/e2e/stores/feature-strategies-store.e2e.test.js +53 -0
- package/dist/test/e2e/stores/feature-strategies-store.e2e.test.js.map +1 -0
- package/dist/test/fixtures/fake-client-metrics-store-v2.d.ts +20 -0
- package/dist/test/fixtures/fake-client-metrics-store-v2.js +52 -0
- package/dist/test/fixtures/fake-client-metrics-store-v2.js.map +1 -0
- package/dist/test/fixtures/fake-feature-environment-store.d.ts +1 -0
- package/dist/test/fixtures/fake-feature-environment-store.js +7 -0
- package/dist/test/fixtures/fake-feature-environment-store.js.map +1 -1
- package/dist/test/fixtures/fake-feature-strategies-store.d.ts +1 -0
- package/dist/test/fixtures/fake-feature-strategies-store.js +9 -0
- package/dist/test/fixtures/fake-feature-strategies-store.js.map +1 -1
- package/dist/test/fixtures/store.js +2 -0
- package/dist/test/fixtures/store.js.map +1 -1
- package/package.json +13 -12
- package/CHANGELOG.md +0 -920
- package/dist/test/e2e/api/admin/project/feature.strategy.e2e.test.js.map +0 -1
|
@@ -0,0 +1,53 @@
|
|
|
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 no_logger_1 = __importDefault(require("../../fixtures/no-logger"));
|
|
8
|
+
let stores;
|
|
9
|
+
let db;
|
|
10
|
+
let featureStrategiesStore;
|
|
11
|
+
let featureToggleStore;
|
|
12
|
+
const featureName = 'test-strategies-move-project';
|
|
13
|
+
beforeAll(async () => {
|
|
14
|
+
db = await (0, database_init_1.default)('feature_strategies_store_serial', no_logger_1.default);
|
|
15
|
+
stores = db.stores;
|
|
16
|
+
featureStrategiesStore = stores.featureStrategiesStore;
|
|
17
|
+
featureToggleStore = stores.featureToggleStore;
|
|
18
|
+
await featureToggleStore.create('default', { name: featureName });
|
|
19
|
+
});
|
|
20
|
+
afterAll(async () => {
|
|
21
|
+
await db.destroy();
|
|
22
|
+
});
|
|
23
|
+
test('Can successfully update project for all strategies belonging to feature', async () => {
|
|
24
|
+
const newProjectId = 'different-project';
|
|
25
|
+
const oldProjectId = 'default';
|
|
26
|
+
const environment = 'default';
|
|
27
|
+
await featureStrategiesStore.createStrategyFeatureEnv({
|
|
28
|
+
strategyName: 'default',
|
|
29
|
+
projectId: oldProjectId,
|
|
30
|
+
environment,
|
|
31
|
+
featureName,
|
|
32
|
+
constraints: [],
|
|
33
|
+
parameters: {},
|
|
34
|
+
sortOrder: 15,
|
|
35
|
+
});
|
|
36
|
+
await featureStrategiesStore.createStrategyFeatureEnv({
|
|
37
|
+
strategyName: 'default',
|
|
38
|
+
projectId: oldProjectId,
|
|
39
|
+
environment,
|
|
40
|
+
featureName,
|
|
41
|
+
constraints: [],
|
|
42
|
+
parameters: {},
|
|
43
|
+
sortOrder: 20,
|
|
44
|
+
});
|
|
45
|
+
const strats = await featureStrategiesStore.getStrategiesForFeatureEnv(oldProjectId, featureName, environment);
|
|
46
|
+
expect(strats).toHaveLength(2);
|
|
47
|
+
await featureStrategiesStore.setProjectForStrategiesBelongingToFeature(featureName, newProjectId);
|
|
48
|
+
const newProjectStrats = await featureStrategiesStore.getStrategiesForFeatureEnv(newProjectId, featureName, environment);
|
|
49
|
+
expect(newProjectStrats).toHaveLength(2);
|
|
50
|
+
const oldProjectStrats = await featureStrategiesStore.getStrategiesForFeatureEnv(oldProjectId, featureName, environment);
|
|
51
|
+
return expect(oldProjectStrats).toHaveLength(0);
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=feature-strategies-store.e2e.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"feature-strategies-store.e2e.test.js","sourceRoot":"","sources":["../../../../src/test/e2e/stores/feature-strategies-store.e2e.test.ts"],"names":[],"mappings":";;;;;AAEA,6EAA8C;AAC9C,yEAAiD;AAEjD,IAAI,MAAM,CAAC;AACX,IAAI,EAAE,CAAC;AACP,IAAI,sBAA+C,CAAC;AACpD,IAAI,kBAAuC,CAAC;AAE5C,MAAM,WAAW,GAAG,8BAA8B,CAAC;AAEnD,SAAS,CAAC,KAAK,IAAI,EAAE;IACjB,EAAE,GAAG,MAAM,IAAA,uBAAM,EAAC,iCAAiC,EAAE,mBAAS,CAAC,CAAC;IAChE,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;IACnB,sBAAsB,GAAG,MAAM,CAAC,sBAAsB,CAAC;IACvD,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;IAC/C,MAAM,kBAAkB,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC,CAAC;AACtE,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,KAAK,IAAI,EAAE;IAChB,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;AACvB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yEAAyE,EAAE,KAAK,IAAI,EAAE;IACvF,MAAM,YAAY,GAAG,mBAAmB,CAAC;IACzC,MAAM,YAAY,GAAG,SAAS,CAAC;IAC/B,MAAM,WAAW,GAAG,SAAS,CAAC;IAC9B,MAAM,sBAAsB,CAAC,wBAAwB,CAAC;QAClD,YAAY,EAAE,SAAS;QACvB,SAAS,EAAE,YAAY;QACvB,WAAW;QACX,WAAW;QACX,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;KAChB,CAAC,CAAC;IACH,MAAM,sBAAsB,CAAC,wBAAwB,CAAC;QAClD,YAAY,EAAE,SAAS;QACvB,SAAS,EAAE,YAAY;QACvB,WAAW;QACX,WAAW;QACX,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,EAAE;QACd,SAAS,EAAE,EAAE;KAChB,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,0BAA0B,CAClE,YAAY,EACZ,WAAW,EACX,WAAW,CACd,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,sBAAsB,CAAC,yCAAyC,CAClE,WAAW,EACX,YAAY,CACf,CAAC;IACF,MAAM,gBAAgB,GAClB,MAAM,sBAAsB,CAAC,0BAA0B,CACnD,YAAY,EACZ,WAAW,EACX,WAAW,CACd,CAAC;IACN,MAAM,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAEzC,MAAM,gBAAgB,GAClB,MAAM,sBAAsB,CAAC,0BAA0B,CACnD,YAAY,EACZ,WAAW,EACX,WAAW,CACd,CAAC;IACN,OAAO,MAAM,CAAC,gBAAgB,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import EventEmitter from 'events';
|
|
3
|
+
import { IClientMetric } from '../../lib/types/stores/client-metrics-db';
|
|
4
|
+
import { IClientMetricsEnv, IClientMetricsEnvKey, IClientMetricsStoreV2 } from '../../lib/types/stores/client-metrics-store-v2';
|
|
5
|
+
export default class FakeClientMetricsStoreV2 extends EventEmitter implements IClientMetricsStoreV2 {
|
|
6
|
+
metrics: IClientMetricsEnv[];
|
|
7
|
+
constructor();
|
|
8
|
+
clearMetrics(hoursBack: number): Promise<void>;
|
|
9
|
+
getSeenAppsForFeatureToggle(featureName: string, hoursBack?: number): Promise<string[]>;
|
|
10
|
+
getMetricsForFeatureToggle(featureName: string, hoursBack?: number): Promise<IClientMetricsEnv[]>;
|
|
11
|
+
batchInsertMetrics(metrics: IClientMetricsEnv[]): Promise<void>;
|
|
12
|
+
get(key: IClientMetricsEnvKey): Promise<IClientMetricsEnv>;
|
|
13
|
+
getAll(query?: Object): Promise<IClientMetricsEnv[]>;
|
|
14
|
+
exists(key: IClientMetricsEnvKey): Promise<boolean>;
|
|
15
|
+
delete(key: IClientMetricsEnvKey): Promise<void>;
|
|
16
|
+
getMetricsLastHour(): Promise<IClientMetric[]>;
|
|
17
|
+
insert(): Promise<void>;
|
|
18
|
+
deleteAll(): Promise<void>;
|
|
19
|
+
destroy(): void;
|
|
20
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
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
|
+
/* eslint-disable @typescript-eslint/lines-between-class-members */
|
|
7
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
8
|
+
const events_1 = __importDefault(require("events"));
|
|
9
|
+
class FakeClientMetricsStoreV2 extends events_1.default {
|
|
10
|
+
constructor() {
|
|
11
|
+
super();
|
|
12
|
+
this.metrics = [];
|
|
13
|
+
this.setMaxListeners(0);
|
|
14
|
+
}
|
|
15
|
+
clearMetrics(hoursBack) {
|
|
16
|
+
return Promise.resolve();
|
|
17
|
+
}
|
|
18
|
+
getSeenAppsForFeatureToggle(featureName, hoursBack) {
|
|
19
|
+
throw new Error('Method not implemented.');
|
|
20
|
+
}
|
|
21
|
+
getMetricsForFeatureToggle(featureName, hoursBack) {
|
|
22
|
+
throw new Error('Method not implemented.');
|
|
23
|
+
}
|
|
24
|
+
batchInsertMetrics(metrics) {
|
|
25
|
+
metrics.forEach((m) => this.metrics.push(m));
|
|
26
|
+
return Promise.resolve();
|
|
27
|
+
}
|
|
28
|
+
get(key) {
|
|
29
|
+
throw new Error('Method not implemented.');
|
|
30
|
+
}
|
|
31
|
+
getAll(query) {
|
|
32
|
+
throw new Error('Method not implemented.');
|
|
33
|
+
}
|
|
34
|
+
exists(key) {
|
|
35
|
+
throw new Error('Method not implemented.');
|
|
36
|
+
}
|
|
37
|
+
delete(key) {
|
|
38
|
+
throw new Error('Method not implemented.');
|
|
39
|
+
}
|
|
40
|
+
async getMetricsLastHour() {
|
|
41
|
+
return Promise.resolve([]);
|
|
42
|
+
}
|
|
43
|
+
async insert() {
|
|
44
|
+
return Promise.resolve();
|
|
45
|
+
}
|
|
46
|
+
async deleteAll() {
|
|
47
|
+
return Promise.resolve(undefined);
|
|
48
|
+
}
|
|
49
|
+
destroy() { }
|
|
50
|
+
}
|
|
51
|
+
exports.default = FakeClientMetricsStoreV2;
|
|
52
|
+
//# sourceMappingURL=fake-client-metrics-store-v2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fake-client-metrics-store-v2.js","sourceRoot":"","sources":["../../../src/test/fixtures/fake-client-metrics-store-v2.ts"],"names":[],"mappings":";;;;;AAAA,mEAAmE;AACnE,sDAAsD;AACtD,oDAAkC;AAQlC,MAAqB,wBACjB,SAAQ,gBAAY;IAKpB;QACI,KAAK,EAAE,CAAC;QAHZ,YAAO,GAAwB,EAAE,CAAC;QAI9B,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IACD,YAAY,CAAC,SAAiB;QAC1B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,2BAA2B,CACvB,WAAmB,EACnB,SAAkB;QAElB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,0BAA0B,CACtB,WAAmB,EACnB,SAAkB;QAElB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,kBAAkB,CAAC,OAA4B;QAC3C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAC7C,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IACD,GAAG,CAAC,GAAyB;QACzB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,CAAC,KAAc;QACjB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,CAAC,GAAyB;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IACD,MAAM,CAAC,GAAyB;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,kBAAkB;QACpB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,MAAM;QACR,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,SAAS;QACX,OAAO,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC;IAED,OAAO,KAAU,CAAC;CACrB;AAvDD,2CAuDC"}
|
|
@@ -19,4 +19,5 @@ export default class FakeFeatureEnvironmentStore implements IFeatureEnvironmentS
|
|
|
19
19
|
connectFeatures(environment: string, projectId: string): Promise<void>;
|
|
20
20
|
disconnectProject(environment: string, projectId: string): Promise<void>;
|
|
21
21
|
connectFeatureToEnvironmentsForProject(featureName: string, projectId: string): Promise<void>;
|
|
22
|
+
disableEnvironmentIfNoStrategies(featureName: string, environment: string): Promise<void>;
|
|
22
23
|
}
|
|
@@ -92,6 +92,13 @@ class FakeFeatureEnvironmentStore {
|
|
|
92
92
|
projectId) {
|
|
93
93
|
return Promise.reject(new Error('Not implemented'));
|
|
94
94
|
}
|
|
95
|
+
disableEnvironmentIfNoStrategies(
|
|
96
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
97
|
+
featureName,
|
|
98
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
99
|
+
environment) {
|
|
100
|
+
return Promise.reject(new Error('Not implemented'));
|
|
101
|
+
}
|
|
95
102
|
}
|
|
96
103
|
exports.default = FakeFeatureEnvironmentStore;
|
|
97
104
|
//# sourceMappingURL=fake-feature-environment-store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-feature-environment-store.js","sourceRoot":"","sources":["../../../src/test/fixtures/fake-feature-environment-store.ts"],"names":[],"mappings":";;;;;AAKA,oFAA2D;AAE3D,MAAqB,2BAA2B;IAAhD;QAGI,wBAAmB,GAA0B,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"fake-feature-environment-store.js","sourceRoot":"","sources":["../../../src/test/fixtures/fake-feature-environment-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,7 @@ export default class FakeFeatureStrategiesStore implements IFeatureStrategiesSto
|
|
|
31
31
|
updateStrategy(id: string, updates: Partial<IFeatureStrategy>): Promise<IFeatureStrategy>;
|
|
32
32
|
deleteConfigurationsForProjectAndEnvironment(projectId: String, environment: String): Promise<void>;
|
|
33
33
|
isEnvironmentEnabled(featureName: string, environment: string): Promise<boolean>;
|
|
34
|
+
setProjectForStrategiesBelongingToFeature(featureName: string, newProjectId: string): Promise<void>;
|
|
34
35
|
setEnvironmentEnabledStatus(environment: string, featureName: string, enabled: boolean): Promise<boolean>;
|
|
35
36
|
}
|
|
36
37
|
export {};
|
|
@@ -152,6 +152,15 @@ class FakeFeatureStrategiesStore {
|
|
|
152
152
|
?.find((f) => f.featureName === featureName)?.enabled || false;
|
|
153
153
|
return Promise.resolve(enabled);
|
|
154
154
|
}
|
|
155
|
+
async setProjectForStrategiesBelongingToFeature(featureName, newProjectId) {
|
|
156
|
+
this.featureStrategies = this.featureStrategies.map((f) => {
|
|
157
|
+
if (f.featureName === featureName) {
|
|
158
|
+
f.projectId = newProjectId;
|
|
159
|
+
}
|
|
160
|
+
return f;
|
|
161
|
+
});
|
|
162
|
+
return Promise.resolve(undefined);
|
|
163
|
+
}
|
|
155
164
|
async setEnvironmentEnabledStatus(environment, featureName, enabled) {
|
|
156
165
|
return Promise.resolve(enabled);
|
|
157
166
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fake-feature-strategies-store.js","sourceRoot":"","sources":["../../../src/test/fixtures/fake-feature-strategies-store.ts"],"names":[],"mappings":";;;;;AAAA,mCAAoC;AASpC,oFAA2D;AAQ3D,MAAqB,0BAA0B;IAA/C;QAGI,0BAAqB,GAAuB,IAAI,GAAG,EAAE,CAAC;QAEtD,yBAAoB,GAAyB,EAAE,CAAC;QAEhD,sBAAiB,GAAuB,EAAE,CAAC;QAE3C,mBAAc,GAAoB,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"fake-feature-strategies-store.js","sourceRoot":"","sources":["../../../src/test/fixtures/fake-feature-strategies-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -27,6 +27,7 @@ const fake_api_token_store_1 = __importDefault(require("./fake-api-token-store")
|
|
|
27
27
|
const fake_feature_type_store_1 = __importDefault(require("./fake-feature-type-store"));
|
|
28
28
|
const fake_reset_token_store_1 = __importDefault(require("./fake-reset-token-store"));
|
|
29
29
|
const fake_feature_toggle_client_store_1 = __importDefault(require("./fake-feature-toggle-client-store"));
|
|
30
|
+
const fake_client_metrics_store_v2_1 = __importDefault(require("./fake-client-metrics-store-v2"));
|
|
30
31
|
const createStores = () => {
|
|
31
32
|
const db = {
|
|
32
33
|
select: () => ({
|
|
@@ -37,6 +38,7 @@ const createStores = () => {
|
|
|
37
38
|
db,
|
|
38
39
|
clientApplicationsStore: new fake_client_applications_store_1.default(),
|
|
39
40
|
clientMetricsStore: new fake_client_metrics_store_1.default(),
|
|
41
|
+
clientMetricsStoreV2: new fake_client_metrics_store_v2_1.default(),
|
|
40
42
|
clientInstanceStore: new fake_client_instance_store_1.default(),
|
|
41
43
|
featureToggleStore: new fake_feature_toggle_store_1.default(),
|
|
42
44
|
featureToggleClientStore: new fake_feature_toggle_client_store_1.default(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/test/fixtures/store.ts"],"names":[],"mappings":";;;;;AAAA,oGAAyE;AACzE,4FAAiE;AACjE,8FAAmE;AACnE,sGAA2E;AAC3E,4FAAiE;AACjE,sEAA4C;AAC5C,gFAAqD;AACrD,0EAAgD;AAChD,0FAA+D;AAC/D,8EAAoD;AACpD,0EAAgD;AAChD,8EAAoD;AACpD,wEAA8C;AAC9C,4EAAkD;AAClD,0FAA+D;AAC/D,sFAA2D;AAC3D,sFAA4D;AAC5D,oFAA0D;AAE1D,8EAAoD;AACpD,sGAA2E;AAC3E,kFAAuD;AACvD,wFAA6D;AAC7D,sFAA2D;AAC3D,0GAA8E;
|
|
1
|
+
{"version":3,"file":"store.js","sourceRoot":"","sources":["../../../src/test/fixtures/store.ts"],"names":[],"mappings":";;;;;AAAA,oGAAyE;AACzE,4FAAiE;AACjE,8FAAmE;AACnE,sGAA2E;AAC3E,4FAAiE;AACjE,sEAA4C;AAC5C,gFAAqD;AACrD,0EAAgD;AAChD,0FAA+D;AAC/D,8EAAoD;AACpD,0EAAgD;AAChD,8EAAoD;AACpD,wEAA8C;AAC9C,4EAAkD;AAClD,0FAA+D;AAC/D,sFAA2D;AAC3D,sFAA4D;AAC5D,oFAA0D;AAE1D,8EAAoD;AACpD,sGAA2E;AAC3E,kFAAuD;AACvD,wFAA6D;AAC7D,sFAA2D;AAC3D,0GAA8E;AAC9E,kGAAsE;AAEtE,MAAM,YAAY,GAAyB,GAAG,EAAE;IAC5C,MAAM,EAAE,GAAG;QACP,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;YACX,IAAI,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE;SAChC,CAAC;KACL,CAAC;IAEF,OAAO;QACH,EAAE;QACF,uBAAuB,EAAE,IAAI,wCAA2B,EAAE;QAC1D,kBAAkB,EAAE,IAAI,mCAAsB,EAAE;QAChD,oBAAoB,EAAE,IAAI,sCAAwB,EAAE;QACpD,mBAAmB,EAAE,IAAI,oCAAuB,EAAE;QAClD,kBAAkB,EAAE,IAAI,mCAAsB,EAAE;QAChD,wBAAwB,EAAE,IAAI,0CAA4B,EAAE;QAC5D,QAAQ,EAAE,IAAI,wBAAY,EAAE;QAC5B,YAAY,EAAE,IAAI,6BAAgB,EAAE;QACpC,UAAU,EAAE,IAAI,0BAAc,EAAE;QAChC,aAAa,EAAE,IAAI,+BAAmB,EAAE;QACxC,iBAAiB,EAAE,IAAI,kCAAqB,EAAE;QAC9C,YAAY,EAAE,IAAI,4BAAgB,EAAE;QACpC,UAAU,EAAE,IAAI,0BAAc,EAAE;QAChC,YAAY,EAAE,IAAI,4BAAgB,EAAE;QACpC,SAAS,EAAE,IAAI,yBAAa,EAAE;QAC9B,WAAW,EAAE,IAAI,2BAAe,EAAE;QAClC,iBAAiB,EAAE,IAAI,kCAAqB,EAAE;QAC9C,sBAAsB,EAAE,IAAI,uCAA0B,EAAE;QACxD,eAAe,EAAE,IAAI,gCAAmB,EAAE;QAC1C,gBAAgB,EAAE,IAAI,gCAAoB,EAAE;QAC5C,uBAAuB,EAAE,IAAI,wCAA2B,EAAE;QAC1D,aAAa,EAAE,IAAI,8BAAiB,EAAE;QACtC,gBAAgB,EAAE,IAAI,iCAAoB,EAAE;QAC5C,eAAe,EAAE,IAAI,gCAAmB,EAAE;QAC1C,YAAY,EAAE,IAAI,4BAAgB,EAAE;KACvC,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,YAAY,CAAC"}
|
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.2.0-
|
|
4
|
+
"version": "4.2.0-beta.4",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"unleash",
|
|
7
7
|
"feature toggle",
|
|
@@ -41,6 +41,7 @@
|
|
|
41
41
|
"test:docker": "./scripts/docker-postgres.sh",
|
|
42
42
|
"test:watch": "yarn test --watch",
|
|
43
43
|
"test:coverage": "NODE_ENV=test PORT=4243 jest --coverage --forceExit",
|
|
44
|
+
"test:coverage:jest": "NODE_ENV=test PORT=4243 jest --silent --ci --json --coverage --testLocationInResults --outputFile=\"report.json\" --forceExit",
|
|
44
45
|
"clean": "del-cli --force dist"
|
|
45
46
|
},
|
|
46
47
|
"jest": {
|
|
@@ -109,14 +110,14 @@
|
|
|
109
110
|
"response-time": "^2.3.2",
|
|
110
111
|
"serve-favicon": "^2.5.0",
|
|
111
112
|
"stoppable": "^1.1.0",
|
|
112
|
-
"unleash-frontend": "4.2.
|
|
113
|
+
"unleash-frontend": "4.2.7",
|
|
113
114
|
"uuid": "^8.3.2"
|
|
114
115
|
},
|
|
115
116
|
"devDependencies": {
|
|
116
117
|
"@types/bcrypt": "5.0.0",
|
|
117
118
|
"@types/express": "4.17.13",
|
|
118
119
|
"@types/express-session": "1.17.4",
|
|
119
|
-
"@types/faker": "5.5.
|
|
120
|
+
"@types/faker": "5.5.9",
|
|
120
121
|
"@types/jest": "27.0.2",
|
|
121
122
|
"@types/js-yaml": "4.0.3",
|
|
122
123
|
"@types/memoizee": "0.4.6",
|
|
@@ -127,32 +128,32 @@
|
|
|
127
128
|
"@types/stoppable": "1.1.1",
|
|
128
129
|
"@types/supertest": "2.0.11",
|
|
129
130
|
"@types/uuid": "8.3.1",
|
|
130
|
-
"@typescript-eslint/eslint-plugin": "4.
|
|
131
|
-
"@typescript-eslint/parser": "4.
|
|
131
|
+
"@typescript-eslint/eslint-plugin": "4.33.0",
|
|
132
|
+
"@typescript-eslint/parser": "4.33.0",
|
|
132
133
|
"copyfiles": "2.4.1",
|
|
133
134
|
"coveralls": "3.1.1",
|
|
134
135
|
"del-cli": "4.0.1",
|
|
135
136
|
"eslint": "7.32.0",
|
|
136
137
|
"eslint-config-airbnb-base": "14.2.1",
|
|
137
|
-
"eslint-config-airbnb-typescript": "14.0.
|
|
138
|
+
"eslint-config-airbnb-typescript": "14.0.1",
|
|
138
139
|
"eslint-config-prettier": "8.3.0",
|
|
139
|
-
"eslint-plugin-import": "2.
|
|
140
|
+
"eslint-plugin-import": "2.25.2",
|
|
140
141
|
"eslint-plugin-prettier": "4.0.0",
|
|
141
142
|
"faker": "5.5.3",
|
|
142
143
|
"fetch-mock": "9.11.0",
|
|
143
144
|
"husky": "7.0.2",
|
|
144
|
-
"jest": "27.
|
|
145
|
+
"jest": "27.3.1",
|
|
145
146
|
"jest-fetch-mock": "3.0.3",
|
|
146
|
-
"lint-staged": "11.
|
|
147
|
+
"lint-staged": "11.2.3",
|
|
147
148
|
"prettier": "2.4.1",
|
|
148
149
|
"proxyquire": "2.1.3",
|
|
149
150
|
"source-map-support": "0.5.20",
|
|
150
151
|
"superagent": "6.1.0",
|
|
151
152
|
"supertest": "6.1.6",
|
|
152
|
-
"ts-jest": "27.0.
|
|
153
|
-
"ts-node": "10.
|
|
153
|
+
"ts-jest": "27.0.7",
|
|
154
|
+
"ts-node": "10.3.0",
|
|
154
155
|
"tsc-watch": "4.5.0",
|
|
155
|
-
"typescript": "4.4.
|
|
156
|
+
"typescript": "4.4.4"
|
|
156
157
|
},
|
|
157
158
|
"resolutions": {
|
|
158
159
|
"db-migrate/rc/minimist": "^1.2.5",
|