unleash-server 4.2.0-beta.8 → 4.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/addons/addon.d.ts +2 -1
- package/dist/lib/addons/addon.js.map +1 -1
- package/dist/lib/addons/datadog.d.ts +4 -17
- package/dist/lib/addons/datadog.js +3 -109
- package/dist/lib/addons/datadog.js.map +1 -1
- package/dist/lib/addons/datadog.test.js +3 -0
- package/dist/lib/addons/datadog.test.js.map +1 -1
- package/dist/lib/addons/feature-event-formatter-md.d.ts +25 -0
- package/dist/lib/addons/feature-event-formatter-md.js +116 -0
- package/dist/lib/addons/feature-event-formatter-md.js.map +1 -0
- package/dist/lib/addons/index.d.ts +1 -0
- package/dist/lib/addons/index.js.map +1 -1
- package/dist/lib/addons/slack.d.ts +3 -12
- package/dist/lib/addons/slack.js +5 -110
- package/dist/lib/addons/slack.js.map +1 -1
- package/dist/lib/addons/slack.test.js +8 -0
- package/dist/lib/addons/slack.test.js.map +1 -1
- package/dist/lib/addons/teams.d.ts +4 -17
- package/dist/lib/addons/teams.js +7 -109
- package/dist/lib/addons/teams.js.map +1 -1
- package/dist/lib/addons/teams.test.js +3 -0
- package/dist/lib/addons/teams.test.js.map +1 -1
- package/dist/lib/addons/webhook.d.ts +8 -2
- package/dist/lib/addons/webhook.js +0 -1
- package/dist/lib/addons/webhook.js.map +1 -1
- package/dist/lib/addons/webhook.test.js +2 -0
- package/dist/lib/addons/webhook.test.js.map +1 -1
- package/dist/lib/create-config.js +6 -5
- package/dist/lib/create-config.js.map +1 -1
- package/dist/lib/db/client-instance-store.js +2 -2
- package/dist/lib/db/client-instance-store.js.map +1 -1
- package/dist/lib/db/client-metrics-db.js +2 -2
- package/dist/lib/db/client-metrics-db.js.map +1 -1
- package/dist/lib/db/client-metrics-store-v2.js +5 -1
- package/dist/lib/db/client-metrics-store-v2.js.map +1 -1
- package/dist/lib/db/client-metrics-store.js +2 -2
- package/dist/lib/db/client-metrics-store.js.map +1 -1
- package/dist/lib/db/event-store.d.ts +10 -6
- package/dist/lib/db/event-store.js +21 -1
- package/dist/lib/db/event-store.js.map +1 -1
- package/dist/lib/db/session-store.js +2 -1
- package/dist/lib/db/session-store.js.map +1 -1
- package/dist/lib/error/minimum-one-environment-error.d.ts +5 -0
- package/dist/lib/error/minimum-one-environment-error.js +24 -0
- package/dist/lib/error/minimum-one-environment-error.js.map +1 -0
- package/dist/lib/metrics.js +20 -12
- package/dist/lib/metrics.js.map +1 -1
- package/dist/lib/metrics.test.js +1 -0
- package/dist/lib/metrics.test.js.map +1 -1
- package/dist/lib/middleware/rbac-middleware.js +2 -17
- package/dist/lib/middleware/rbac-middleware.js.map +1 -1
- package/dist/lib/middleware/rbac-middleware.test.js +2 -21
- package/dist/lib/middleware/rbac-middleware.test.js.map +1 -1
- package/dist/lib/middleware/secure-headers.js +2 -1
- package/dist/lib/middleware/secure-headers.js.map +1 -1
- package/dist/lib/middleware/session-db.js +2 -3
- package/dist/lib/middleware/session-db.js.map +1 -1
- package/dist/lib/routes/admin-api/config.d.ts +5 -2
- package/dist/lib/routes/admin-api/config.js +9 -11
- package/dist/lib/routes/admin-api/config.js.map +1 -1
- package/dist/lib/routes/admin-api/event.d.ts +8 -4
- package/dist/lib/routes/admin-api/event.js +8 -10
- package/dist/lib/routes/admin-api/event.js.map +1 -1
- package/dist/lib/routes/admin-api/feature.d.ts +2 -3
- package/dist/lib/routes/admin-api/feature.js +37 -34
- package/dist/lib/routes/admin-api/feature.js.map +1 -1
- package/dist/lib/routes/admin-api/project/features.js +11 -8
- package/dist/lib/routes/admin-api/project/features.js.map +1 -1
- package/dist/lib/routes/admin-api/state.js +2 -3
- package/dist/lib/routes/admin-api/state.js.map +1 -1
- package/dist/lib/routes/admin-api/strategy.test.js +25 -38
- package/dist/lib/routes/admin-api/strategy.test.js.map +1 -1
- package/dist/lib/routes/admin-api/user-admin.d.ts +1 -0
- package/dist/lib/routes/admin-api/user-admin.js +6 -0
- package/dist/lib/routes/admin-api/user-admin.js.map +1 -1
- package/dist/lib/routes/client-api/feature.test.js +3 -2
- package/dist/lib/routes/client-api/feature.test.js.map +1 -1
- package/dist/lib/routes/health-check.test.js +1 -0
- package/dist/lib/routes/health-check.test.js.map +1 -1
- package/dist/lib/routes/util.js +2 -0
- package/dist/lib/routes/util.js.map +1 -1
- package/dist/lib/server-impl.d.ts +2 -1
- package/dist/lib/server-impl.js.map +1 -1
- package/dist/lib/services/addon-service-test-simple-addon.d.ts +1 -1
- package/dist/lib/services/addon-service-test-simple-addon.js.map +1 -1
- package/dist/lib/services/addon-service.js +2 -2
- package/dist/lib/services/addon-service.js.map +1 -1
- package/dist/lib/services/api-token-service.js +2 -2
- package/dist/lib/services/api-token-service.js.map +1 -1
- package/dist/lib/services/client-metrics/client-metrics-service-v2.js +3 -5
- package/dist/lib/services/client-metrics/client-metrics-service-v2.js.map +1 -1
- package/dist/lib/services/client-metrics/client-metrics.test.js +74 -41
- package/dist/lib/services/client-metrics/client-metrics.test.js.map +1 -1
- package/dist/lib/services/client-metrics/index.d.ts +6 -5
- package/dist/lib/services/client-metrics/index.js +13 -10
- package/dist/lib/services/client-metrics/index.js.map +1 -1
- package/dist/lib/services/client-metrics/list.d.ts +19 -16
- package/dist/lib/services/client-metrics/list.js +6 -4
- package/dist/lib/services/client-metrics/list.js.map +1 -1
- package/dist/lib/services/client-metrics/list.test.js +9 -5
- package/dist/lib/services/client-metrics/list.test.js.map +1 -1
- package/dist/lib/services/client-metrics/ttl-list.d.ts +20 -13
- package/dist/lib/services/client-metrics/ttl-list.js +26 -15
- package/dist/lib/services/client-metrics/ttl-list.js.map +1 -1
- package/dist/lib/services/client-metrics/ttl-list.test.js +33 -9
- package/dist/lib/services/client-metrics/ttl-list.test.js.map +1 -1
- package/dist/lib/services/environment-service.d.ts +2 -1
- package/dist/lib/services/environment-service.js +10 -3
- package/dist/lib/services/environment-service.js.map +1 -1
- package/dist/lib/services/event-service.d.ts +1 -1
- package/dist/lib/services/event-service.js +1 -1
- package/dist/lib/services/event-service.js.map +1 -1
- package/dist/lib/services/feature-tag-service.js +7 -11
- package/dist/lib/services/feature-tag-service.js.map +1 -1
- package/dist/lib/services/{feature-toggle-service-v2.d.ts → feature-toggle-service.d.ts} +29 -19
- package/dist/lib/services/{feature-toggle-service-v2.js → feature-toggle-service.js} +177 -145
- package/dist/lib/services/feature-toggle-service.js.map +1 -0
- package/dist/lib/services/index.js +5 -3
- package/dist/lib/services/index.js.map +1 -1
- package/dist/lib/services/project-health-service.d.ts +2 -2
- package/dist/lib/services/project-health-service.js +3 -3
- package/dist/lib/services/project-health-service.js.map +1 -1
- package/dist/lib/services/project-service.d.ts +2 -2
- package/dist/lib/services/project-service.js +5 -3
- package/dist/lib/services/project-service.js.map +1 -1
- package/dist/lib/services/reset-token-service.js +2 -2
- package/dist/lib/services/reset-token-service.js.map +1 -1
- package/dist/lib/services/setting-service.d.ts +1 -1
- package/dist/lib/services/setting-service.js.map +1 -1
- package/dist/lib/services/state-util.js +1 -1
- package/dist/lib/services/state-util.js.map +1 -1
- package/dist/lib/services/user-service.d.ts +6 -2
- package/dist/lib/services/user-service.js +43 -21
- package/dist/lib/services/user-service.js.map +1 -1
- package/dist/lib/services/user-service.test.js +18 -0
- package/dist/lib/services/user-service.test.js.map +1 -1
- package/dist/lib/services/version-service.js +2 -2
- package/dist/lib/services/version-service.js.map +1 -1
- package/dist/lib/types/authentication-required.d.ts +3 -1
- package/dist/lib/types/authentication-required.js +2 -1
- package/dist/lib/types/authentication-required.js.map +1 -1
- package/dist/lib/types/events.d.ts +165 -2
- package/dist/lib/types/events.js +124 -4
- package/dist/lib/types/events.js.map +1 -1
- package/dist/lib/types/model.d.ts +0 -12
- package/dist/lib/types/model.js.map +1 -1
- package/dist/lib/types/services.d.ts +3 -2
- package/dist/lib/types/settings/simple-auth-settings.d.ts +4 -0
- package/dist/lib/types/settings/simple-auth-settings.js +5 -0
- package/dist/lib/types/settings/simple-auth-settings.js.map +1 -0
- package/dist/lib/types/stores/event-store.d.ts +4 -3
- package/dist/lib/types/stores/settings-store.d.ts +1 -1
- package/dist/lib/util/constants.d.ts +0 -2
- package/dist/lib/util/constants.js +1 -3
- package/dist/lib/util/constants.js.map +1 -1
- package/dist/migrations/20210928080601-add-development-and-production-environments.js +3 -3
- package/dist/migrations/20211029094324-set-sort-order-env.d.ts +2 -0
- package/dist/migrations/20211029094324-set-sort-order-env.js +11 -0
- package/dist/migrations/20211029094324-set-sort-order-env.js.map +1 -0
- package/dist/migrations/20211105104316-add-feature-name-column-to-events.d.ts +2 -0
- package/dist/migrations/20211105104316-add-feature-name-column-to-events.js +16 -0
- package/dist/migrations/20211105104316-add-feature-name-column-to-events.js.map +1 -0
- package/dist/migrations/20211105105509-add-predata-column-to-events.d.ts +2 -0
- package/dist/migrations/20211105105509-add-predata-column-to-events.js +8 -0
- package/dist/migrations/20211105105509-add-predata-column-to-events.js.map +1 -0
- package/dist/migrator.js +9 -2
- package/dist/migrator.js.map +1 -1
- package/dist/test/e2e/api/admin/client-metrics.e2e.test.js +16 -12
- package/dist/test/e2e/api/admin/client-metrics.e2e.test.js.map +1 -1
- package/dist/{lib/event-differ.test.d.ts → test/e2e/api/admin/config.e2e.test.d.ts} +0 -0
- package/dist/test/e2e/api/admin/config.e2e.test.js +36 -0
- package/dist/test/e2e/api/admin/config.e2e.test.js.map +1 -0
- package/dist/test/e2e/api/admin/feature-archive.e2e.test.js +1 -2
- package/dist/test/e2e/api/admin/feature-archive.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/feature.e2e.test.js +19 -2
- package/dist/test/e2e/api/admin/feature.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/metrics.e2e.test.js +5 -3
- package/dist/test/e2e/api/admin/metrics.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/environments.e2e.test.js +10 -0
- package/dist/test/e2e/api/admin/project/environments.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/project/features.e2e.test.js +120 -8
- package/dist/test/e2e/api/admin/project/features.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/state.e2e.test.js +17 -13
- package/dist/test/e2e/api/admin/state.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/admin/user-admin.e2e.test.js +18 -17
- package/dist/test/e2e/api/admin/user-admin.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js +4 -0
- package/dist/test/e2e/api/auth/reset-password-controller.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js +8 -4
- package/dist/test/e2e/api/client/feature.env.disabled.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/feature.token.access.e2e.test.js +4 -4
- package/dist/test/e2e/api/client/feature.token.access.e2e.test.js.map +1 -1
- package/dist/test/e2e/api/client/register.e2e.test.js +1 -1
- package/dist/test/e2e/api/client/register.e2e.test.js.map +1 -1
- package/dist/test/e2e/custom-auth.test.js +1 -1
- package/dist/test/e2e/custom-auth.test.js.map +1 -1
- package/dist/test/e2e/services/addon-service.e2e.test.js +1 -1
- package/dist/test/e2e/services/addon-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/api-token-service.e2e.test.js +5 -3
- package/dist/test/e2e/services/api-token-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/client-metrics-service.e2e.test.js +5 -2
- package/dist/test/e2e/services/client-metrics-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/environment-service.test.js +1 -1
- package/dist/test/e2e/services/environment-service.test.js.map +1 -1
- package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js +14 -11
- package/dist/test/e2e/services/feature-toggle-service-v2.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/project-health-service.e2e.test.js +2 -2
- package/dist/test/e2e/services/project-health-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/project-service.e2e.test.js +2 -2
- package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/reset-token-service.e2e.test.js +4 -0
- package/dist/test/e2e/services/reset-token-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/session-service.e2e.test.js +5 -4
- package/dist/test/e2e/services/session-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/user-service.e2e.test.js +18 -2
- package/dist/test/e2e/services/user-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.js +4 -6
- package/dist/test/e2e/stores/client-metrics-store-v2.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/event-store.e2e.test.js +1 -1
- package/dist/test/e2e/stores/event-store.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/feature-toggle-store.e2e.test.js +1 -0
- package/dist/test/e2e/stores/feature-toggle-store.e2e.test.js.map +1 -1
- package/dist/test/fixtures/fake-event-store.d.ts +2 -1
- package/dist/test/fixtures/fake-event-store.js +3 -0
- package/dist/test/fixtures/fake-event-store.js.map +1 -1
- package/dist/test/fixtures/fake-setting-store.js +1 -5
- package/dist/test/fixtures/fake-setting-store.js.map +1 -1
- package/docs/api/oas/openapi.yaml +35 -55
- package/package.json +11 -12
- package/dist/lib/event-differ.d.ts +0 -1
- package/dist/lib/event-differ.js +0 -117
- package/dist/lib/event-differ.js.map +0 -1
- package/dist/lib/event-differ.test.js +0 -142
- package/dist/lib/event-differ.test.js.map +0 -1
- package/dist/lib/services/feature-toggle-service-v2.js.map +0 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { FeatureToggle, IStrategyConfig, ITag } from './model';
|
|
1
2
|
export declare const APPLICATION_CREATED = "application-created";
|
|
2
3
|
export declare const FEATURE_CREATED = "feature-created";
|
|
3
4
|
export declare const FEATURE_DELETED = "feature-deleted";
|
|
@@ -17,6 +18,8 @@ export declare const FEATURE_UNTAGGED = "feature-untagged";
|
|
|
17
18
|
export declare const FEATURE_STALE_ON = "feature-stale-on";
|
|
18
19
|
export declare const FEATURE_STALE_OFF = "feature-stale-off";
|
|
19
20
|
export declare const DROP_FEATURES = "drop-features";
|
|
21
|
+
export declare const FEATURE_ENVIRONMENT_ENABLED = "feature-environment-enabled";
|
|
22
|
+
export declare const FEATURE_ENVIRONMENT_DISABLED = "feature-environment-disabled";
|
|
20
23
|
export declare const STRATEGY_CREATED = "strategy-created";
|
|
21
24
|
export declare const STRATEGY_DELETED = "strategy-deleted";
|
|
22
25
|
export declare const STRATEGY_DEPRECATED = "strategy-deprecated";
|
|
@@ -50,5 +53,165 @@ export declare const USER_UPDATED = "user-updated";
|
|
|
50
53
|
export declare const USER_DELETED = "user-deleted";
|
|
51
54
|
export declare const DROP_ENVIRONMENTS = "drop-environments";
|
|
52
55
|
export declare const ENVIRONMENT_IMPORT = "environment-import";
|
|
53
|
-
export
|
|
54
|
-
|
|
56
|
+
export interface IBaseEvent {
|
|
57
|
+
type: string;
|
|
58
|
+
createdBy: string;
|
|
59
|
+
project?: string;
|
|
60
|
+
environment?: string;
|
|
61
|
+
featureName?: string;
|
|
62
|
+
data?: any;
|
|
63
|
+
preData?: any;
|
|
64
|
+
tags?: ITag[];
|
|
65
|
+
}
|
|
66
|
+
export interface IEvent extends IBaseEvent {
|
|
67
|
+
id: number;
|
|
68
|
+
createdAt: Date;
|
|
69
|
+
}
|
|
70
|
+
declare class BaseEvent implements IBaseEvent {
|
|
71
|
+
readonly type: string;
|
|
72
|
+
readonly createdBy: string;
|
|
73
|
+
readonly tags: ITag[];
|
|
74
|
+
constructor(type: string, createdBy: string, tags?: ITag[]);
|
|
75
|
+
}
|
|
76
|
+
export declare class FeatureStaleEvent extends BaseEvent {
|
|
77
|
+
readonly project: string;
|
|
78
|
+
readonly featureName: string;
|
|
79
|
+
constructor(p: {
|
|
80
|
+
stale: boolean;
|
|
81
|
+
project: string;
|
|
82
|
+
featureName: string;
|
|
83
|
+
createdBy: string;
|
|
84
|
+
tags: ITag[];
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
export declare class FeatureEnvironmentEvent extends BaseEvent {
|
|
88
|
+
readonly project: string;
|
|
89
|
+
readonly featureName: string;
|
|
90
|
+
readonly environment: string;
|
|
91
|
+
constructor(p: {
|
|
92
|
+
enabled: boolean;
|
|
93
|
+
project: string;
|
|
94
|
+
featureName: string;
|
|
95
|
+
environment: string;
|
|
96
|
+
createdBy: string;
|
|
97
|
+
tags: ITag[];
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
export declare class FeatureChangeProjectEvent extends BaseEvent {
|
|
101
|
+
readonly project: string;
|
|
102
|
+
readonly featureName: string;
|
|
103
|
+
readonly data: {
|
|
104
|
+
oldProject: string;
|
|
105
|
+
newProject: string;
|
|
106
|
+
};
|
|
107
|
+
constructor(p: {
|
|
108
|
+
oldProject: string;
|
|
109
|
+
newProject: string;
|
|
110
|
+
featureName: string;
|
|
111
|
+
createdBy: string;
|
|
112
|
+
tags: ITag[];
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
export declare class FeatureCreatedEvent extends BaseEvent {
|
|
116
|
+
readonly project: string;
|
|
117
|
+
readonly featureName: string;
|
|
118
|
+
readonly data: FeatureToggle;
|
|
119
|
+
constructor(p: {
|
|
120
|
+
project: string;
|
|
121
|
+
featureName: string;
|
|
122
|
+
createdBy: string;
|
|
123
|
+
data: FeatureToggle;
|
|
124
|
+
tags: ITag[];
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
export declare class FeatureArchivedEvent extends BaseEvent {
|
|
128
|
+
readonly project: string;
|
|
129
|
+
readonly featureName: string;
|
|
130
|
+
constructor(p: {
|
|
131
|
+
project: string;
|
|
132
|
+
featureName: string;
|
|
133
|
+
createdBy: string;
|
|
134
|
+
tags: ITag[];
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
export declare class FeatureRevivedEvent extends BaseEvent {
|
|
138
|
+
readonly project: string;
|
|
139
|
+
readonly featureName: string;
|
|
140
|
+
constructor(p: {
|
|
141
|
+
project: string;
|
|
142
|
+
featureName: string;
|
|
143
|
+
createdBy: string;
|
|
144
|
+
tags: ITag[];
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
export declare class FeatureDeletedEvent extends BaseEvent {
|
|
148
|
+
readonly project: string;
|
|
149
|
+
readonly featureName: string;
|
|
150
|
+
readonly preData: FeatureToggle;
|
|
151
|
+
constructor(p: {
|
|
152
|
+
project: string;
|
|
153
|
+
featureName: string;
|
|
154
|
+
preData: FeatureToggle;
|
|
155
|
+
createdBy: string;
|
|
156
|
+
tags: ITag[];
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
export declare class FeatureMetadataUpdateEvent extends BaseEvent {
|
|
160
|
+
readonly project: string;
|
|
161
|
+
readonly featureName: string;
|
|
162
|
+
readonly data: FeatureToggle;
|
|
163
|
+
readonly preData: FeatureToggle;
|
|
164
|
+
constructor(p: {
|
|
165
|
+
featureName: string;
|
|
166
|
+
createdBy: string;
|
|
167
|
+
project: string;
|
|
168
|
+
data: FeatureToggle;
|
|
169
|
+
preData: FeatureToggle;
|
|
170
|
+
tags: ITag[];
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
export declare class FeatureStrategyAddEvent extends BaseEvent {
|
|
174
|
+
readonly project: string;
|
|
175
|
+
readonly featureName: string;
|
|
176
|
+
readonly environment: string;
|
|
177
|
+
readonly data: IStrategyConfig;
|
|
178
|
+
constructor(p: {
|
|
179
|
+
project: string;
|
|
180
|
+
featureName: string;
|
|
181
|
+
environment: string;
|
|
182
|
+
createdBy: string;
|
|
183
|
+
data: IStrategyConfig;
|
|
184
|
+
tags: ITag[];
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
export declare class FeatureStrategyUpdateEvent extends BaseEvent {
|
|
188
|
+
readonly project: string;
|
|
189
|
+
readonly featureName: string;
|
|
190
|
+
readonly environment: string;
|
|
191
|
+
readonly data: IStrategyConfig;
|
|
192
|
+
readonly preData: IStrategyConfig;
|
|
193
|
+
constructor(p: {
|
|
194
|
+
project: string;
|
|
195
|
+
featureName: string;
|
|
196
|
+
environment: string;
|
|
197
|
+
createdBy: string;
|
|
198
|
+
data: IStrategyConfig;
|
|
199
|
+
preData: IStrategyConfig;
|
|
200
|
+
tags: ITag[];
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
export declare class FeatureStrategyRemoveEvent extends BaseEvent {
|
|
204
|
+
readonly project: string;
|
|
205
|
+
readonly featureName: string;
|
|
206
|
+
readonly environment: string;
|
|
207
|
+
readonly preData: IStrategyConfig;
|
|
208
|
+
constructor(p: {
|
|
209
|
+
project: string;
|
|
210
|
+
featureName: string;
|
|
211
|
+
environment: string;
|
|
212
|
+
createdBy: string;
|
|
213
|
+
preData: IStrategyConfig;
|
|
214
|
+
tags: ITag[];
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
export {};
|
package/dist/lib/types/events.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.
|
|
3
|
+
exports.USER_CREATED = exports.DB_POOL_UPDATE = exports.ADDON_CONFIG_DELETED = exports.ADDON_CONFIG_UPDATED = exports.ADDON_CONFIG_CREATED = exports.DROP_TAG_TYPES = exports.TAG_TYPE_IMPORT = exports.TAG_TYPE_UPDATED = exports.TAG_TYPE_DELETED = exports.TAG_TYPE_CREATED = exports.DROP_TAGS = exports.TAG_IMPORT = exports.TAG_DELETED = exports.TAG_CREATED = exports.DROP_PROJECTS = exports.PROJECT_IMPORT = exports.PROJECT_DELETED = exports.PROJECT_UPDATED = exports.PROJECT_CREATED = exports.CONTEXT_FIELD_DELETED = exports.CONTEXT_FIELD_UPDATED = exports.CONTEXT_FIELD_CREATED = exports.DROP_STRATEGIES = exports.STRATEGY_IMPORT = exports.STRATEGY_UPDATED = exports.STRATEGY_REACTIVATED = exports.STRATEGY_DEPRECATED = exports.STRATEGY_DELETED = exports.STRATEGY_CREATED = exports.FEATURE_ENVIRONMENT_DISABLED = exports.FEATURE_ENVIRONMENT_ENABLED = exports.DROP_FEATURES = exports.FEATURE_STALE_OFF = exports.FEATURE_STALE_ON = exports.FEATURE_UNTAGGED = exports.DROP_FEATURE_TAGS = exports.FEATURE_STRATEGY_REMOVE = exports.FEATURE_STRATEGY_ADD = exports.FEATURE_STRATEGY_UPDATE = exports.FEATURE_TAG_IMPORT = exports.FEATURE_TAGGED = exports.FEATURE_IMPORT = exports.FEATURE_REVIVED = exports.FEATURE_ARCHIVED = exports.FEATURE_PROJECT_CHANGE = exports.FEATURE_METADATA_UPDATED = exports.FEATURE_UPDATED = exports.FEATURE_DELETED = exports.FEATURE_CREATED = exports.APPLICATION_CREATED = void 0;
|
|
4
|
+
exports.FeatureStrategyRemoveEvent = exports.FeatureStrategyUpdateEvent = exports.FeatureStrategyAddEvent = exports.FeatureMetadataUpdateEvent = exports.FeatureDeletedEvent = exports.FeatureRevivedEvent = exports.FeatureArchivedEvent = exports.FeatureCreatedEvent = exports.FeatureChangeProjectEvent = exports.FeatureEnvironmentEvent = exports.FeatureStaleEvent = exports.ENVIRONMENT_IMPORT = exports.DROP_ENVIRONMENTS = exports.USER_DELETED = exports.USER_UPDATED = void 0;
|
|
5
5
|
exports.APPLICATION_CREATED = 'application-created';
|
|
6
|
+
// feature event types
|
|
6
7
|
exports.FEATURE_CREATED = 'feature-created';
|
|
7
8
|
exports.FEATURE_DELETED = 'feature-deleted';
|
|
8
9
|
exports.FEATURE_UPDATED = 'feature-updated';
|
|
@@ -21,6 +22,8 @@ exports.FEATURE_UNTAGGED = 'feature-untagged';
|
|
|
21
22
|
exports.FEATURE_STALE_ON = 'feature-stale-on';
|
|
22
23
|
exports.FEATURE_STALE_OFF = 'feature-stale-off';
|
|
23
24
|
exports.DROP_FEATURES = 'drop-features';
|
|
25
|
+
exports.FEATURE_ENVIRONMENT_ENABLED = 'feature-environment-enabled';
|
|
26
|
+
exports.FEATURE_ENVIRONMENT_DISABLED = 'feature-environment-disabled';
|
|
24
27
|
exports.STRATEGY_CREATED = 'strategy-created';
|
|
25
28
|
exports.STRATEGY_DELETED = 'strategy-deleted';
|
|
26
29
|
exports.STRATEGY_DEPRECATED = 'strategy-deprecated';
|
|
@@ -54,6 +57,123 @@ exports.USER_UPDATED = 'user-updated';
|
|
|
54
57
|
exports.USER_DELETED = 'user-deleted';
|
|
55
58
|
exports.DROP_ENVIRONMENTS = 'drop-environments';
|
|
56
59
|
exports.ENVIRONMENT_IMPORT = 'environment-import';
|
|
57
|
-
|
|
58
|
-
|
|
60
|
+
class BaseEvent {
|
|
61
|
+
constructor(type, createdBy, tags = []) {
|
|
62
|
+
this.type = type;
|
|
63
|
+
this.createdBy = createdBy;
|
|
64
|
+
this.tags = tags;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
class FeatureStaleEvent extends BaseEvent {
|
|
68
|
+
constructor(p) {
|
|
69
|
+
super(p.stale ? exports.FEATURE_STALE_ON : exports.FEATURE_STALE_OFF, p.createdBy, p.tags);
|
|
70
|
+
this.project = p.project;
|
|
71
|
+
this.featureName = p.featureName;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.FeatureStaleEvent = FeatureStaleEvent;
|
|
75
|
+
class FeatureEnvironmentEvent extends BaseEvent {
|
|
76
|
+
constructor(p) {
|
|
77
|
+
super(p.enabled
|
|
78
|
+
? exports.FEATURE_ENVIRONMENT_ENABLED
|
|
79
|
+
: exports.FEATURE_ENVIRONMENT_DISABLED, p.createdBy, p.tags);
|
|
80
|
+
this.project = p.project;
|
|
81
|
+
this.featureName = p.featureName;
|
|
82
|
+
this.environment = p.environment;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.FeatureEnvironmentEvent = FeatureEnvironmentEvent;
|
|
86
|
+
class FeatureChangeProjectEvent extends BaseEvent {
|
|
87
|
+
constructor(p) {
|
|
88
|
+
super(exports.FEATURE_PROJECT_CHANGE, p.createdBy, p.tags);
|
|
89
|
+
const { newProject, oldProject, featureName } = p;
|
|
90
|
+
this.project = newProject;
|
|
91
|
+
this.featureName = featureName;
|
|
92
|
+
this.data = { newProject, oldProject };
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
exports.FeatureChangeProjectEvent = FeatureChangeProjectEvent;
|
|
96
|
+
class FeatureCreatedEvent extends BaseEvent {
|
|
97
|
+
constructor(p) {
|
|
98
|
+
super(exports.FEATURE_CREATED, p.createdBy, p.tags);
|
|
99
|
+
const { project, featureName, data } = p;
|
|
100
|
+
this.project = project;
|
|
101
|
+
this.featureName = featureName;
|
|
102
|
+
this.data = data;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
exports.FeatureCreatedEvent = FeatureCreatedEvent;
|
|
106
|
+
class FeatureArchivedEvent extends BaseEvent {
|
|
107
|
+
constructor(p) {
|
|
108
|
+
super(exports.FEATURE_ARCHIVED, p.createdBy, p.tags);
|
|
109
|
+
const { project, featureName } = p;
|
|
110
|
+
this.project = project;
|
|
111
|
+
this.featureName = featureName;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
exports.FeatureArchivedEvent = FeatureArchivedEvent;
|
|
115
|
+
class FeatureRevivedEvent extends BaseEvent {
|
|
116
|
+
constructor(p) {
|
|
117
|
+
super(exports.FEATURE_REVIVED, p.createdBy, p.tags);
|
|
118
|
+
const { project, featureName } = p;
|
|
119
|
+
this.project = project;
|
|
120
|
+
this.featureName = featureName;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
exports.FeatureRevivedEvent = FeatureRevivedEvent;
|
|
124
|
+
class FeatureDeletedEvent extends BaseEvent {
|
|
125
|
+
constructor(p) {
|
|
126
|
+
super(exports.FEATURE_DELETED, p.createdBy, p.tags);
|
|
127
|
+
const { project, featureName, preData } = p;
|
|
128
|
+
this.project = project;
|
|
129
|
+
this.featureName = featureName;
|
|
130
|
+
this.preData = preData;
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.FeatureDeletedEvent = FeatureDeletedEvent;
|
|
134
|
+
class FeatureMetadataUpdateEvent extends BaseEvent {
|
|
135
|
+
constructor(p) {
|
|
136
|
+
super(exports.FEATURE_METADATA_UPDATED, p.createdBy, p.tags);
|
|
137
|
+
const { project, featureName, data, preData } = p;
|
|
138
|
+
this.project = project;
|
|
139
|
+
this.featureName = featureName;
|
|
140
|
+
this.data = data;
|
|
141
|
+
this.preData = preData;
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
exports.FeatureMetadataUpdateEvent = FeatureMetadataUpdateEvent;
|
|
145
|
+
class FeatureStrategyAddEvent extends BaseEvent {
|
|
146
|
+
constructor(p) {
|
|
147
|
+
super(exports.FEATURE_STRATEGY_ADD, p.createdBy, p.tags);
|
|
148
|
+
const { project, featureName, environment, data } = p;
|
|
149
|
+
this.project = project;
|
|
150
|
+
this.featureName = featureName;
|
|
151
|
+
this.environment = environment;
|
|
152
|
+
this.data = data;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
exports.FeatureStrategyAddEvent = FeatureStrategyAddEvent;
|
|
156
|
+
class FeatureStrategyUpdateEvent extends BaseEvent {
|
|
157
|
+
constructor(p) {
|
|
158
|
+
super(exports.FEATURE_STRATEGY_UPDATE, p.createdBy, p.tags);
|
|
159
|
+
const { project, featureName, environment, data, preData } = p;
|
|
160
|
+
this.project = project;
|
|
161
|
+
this.featureName = featureName;
|
|
162
|
+
this.environment = environment;
|
|
163
|
+
this.data = data;
|
|
164
|
+
this.preData = preData;
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
exports.FeatureStrategyUpdateEvent = FeatureStrategyUpdateEvent;
|
|
168
|
+
class FeatureStrategyRemoveEvent extends BaseEvent {
|
|
169
|
+
constructor(p) {
|
|
170
|
+
super(exports.FEATURE_STRATEGY_REMOVE, p.createdBy, p.tags);
|
|
171
|
+
const { project, featureName, environment, preData } = p;
|
|
172
|
+
this.project = project;
|
|
173
|
+
this.featureName = featureName;
|
|
174
|
+
this.environment = environment;
|
|
175
|
+
this.preData = preData;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
exports.FeatureStrategyRemoveEvent = FeatureStrategyRemoveEvent;
|
|
59
179
|
//# sourceMappingURL=events.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/lib/types/events.ts"],"names":[],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"events.js","sourceRoot":"","sources":["../../../src/lib/types/events.ts"],"names":[],"mappings":"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"}
|
|
@@ -170,18 +170,6 @@ export interface IAddonConfig {
|
|
|
170
170
|
getLogger: LogProvider;
|
|
171
171
|
unleashUrl: string;
|
|
172
172
|
}
|
|
173
|
-
export interface ICreateEvent {
|
|
174
|
-
type: string;
|
|
175
|
-
createdBy: string;
|
|
176
|
-
project?: string;
|
|
177
|
-
environment?: string;
|
|
178
|
-
data?: any;
|
|
179
|
-
tags?: ITag[];
|
|
180
|
-
}
|
|
181
|
-
export interface IEvent extends ICreateEvent {
|
|
182
|
-
id: number;
|
|
183
|
-
createdAt: Date;
|
|
184
|
-
}
|
|
185
173
|
export interface IUserWithRole {
|
|
186
174
|
id: number;
|
|
187
175
|
roleId: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/lib/types/model.ts"],"names":[],"mappings":";;;
|
|
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"}
|
|
@@ -18,7 +18,7 @@ import HealthService from '../services/health-service';
|
|
|
18
18
|
import SettingService from '../services/setting-service';
|
|
19
19
|
import SessionService from '../services/session-service';
|
|
20
20
|
import UserFeedbackService from '../services/user-feedback-service';
|
|
21
|
-
import
|
|
21
|
+
import FeatureToggleService from '../services/feature-toggle-service';
|
|
22
22
|
import EnvironmentService from '../services/environment-service';
|
|
23
23
|
import FeatureTagService from '../services/feature-tag-service';
|
|
24
24
|
import ProjectHealthService from '../services/project-health-service';
|
|
@@ -34,7 +34,8 @@ export interface IUnleashServices {
|
|
|
34
34
|
environmentService: EnvironmentService;
|
|
35
35
|
eventService: EventService;
|
|
36
36
|
featureTagService: FeatureTagService;
|
|
37
|
-
|
|
37
|
+
featureToggleService: FeatureToggleService;
|
|
38
|
+
featureToggleServiceV2: FeatureToggleService;
|
|
38
39
|
featureTypeService: FeatureTypeService;
|
|
39
40
|
healthService: HealthService;
|
|
40
41
|
projectHealthService: ProjectHealthService;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"simple-auth-settings.js","sourceRoot":"","sources":["../../../../src/lib/types/settings/simple-auth-settings.ts"],"names":[],"mappings":";;;AAAa,QAAA,aAAa,GAAG,qBAAqB,CAAC"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import EventEmitter from 'events';
|
|
3
|
-
import {
|
|
3
|
+
import { IBaseEvent, IEvent } from '../events';
|
|
4
4
|
import { Store } from './store';
|
|
5
5
|
export interface IEventStore extends Store<IEvent, number>, EventEmitter {
|
|
6
|
-
store(event:
|
|
7
|
-
batchStore(events:
|
|
6
|
+
store(event: IBaseEvent): Promise<void>;
|
|
7
|
+
batchStore(events: IBaseEvent[]): Promise<void>;
|
|
8
8
|
getEvents(): Promise<IEvent[]>;
|
|
9
9
|
getEventsFilterByType(name: string): Promise<IEvent[]>;
|
|
10
|
+
getEventsForFeature(featureName: string): Promise<IEvent[]>;
|
|
10
11
|
getEventsFilterByProject(project: string): Promise<IEvent[]>;
|
|
11
12
|
}
|
|
@@ -4,6 +4,6 @@ export interface ISettingInsert {
|
|
|
4
4
|
content: any;
|
|
5
5
|
}
|
|
6
6
|
export interface ISettingStore extends Store<any, string> {
|
|
7
|
-
insert(name: string, content:
|
|
7
|
+
insert<T>(name: string, content: T): Promise<void>;
|
|
8
8
|
updateRow(name: string, content: any): Promise<void>;
|
|
9
9
|
}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.DEFAULT_ENV =
|
|
4
|
-
exports.MILLISECONDS_IN_DAY = 86400000;
|
|
5
|
-
exports.MILLISECONDS_IN_ONE_HOUR = 3600000;
|
|
3
|
+
exports.DEFAULT_ENV = void 0;
|
|
6
4
|
exports.DEFAULT_ENV = 'default';
|
|
7
5
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/util/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/lib/util/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,WAAW,GAAG,SAAS,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
exports.up = function (db, cb) {
|
|
3
3
|
db.runSql(`
|
|
4
|
-
INSERT INTO environments(name, type, enabled)
|
|
5
|
-
VALUES ('development', 'development', true),
|
|
6
|
-
('production', 'production', true);
|
|
4
|
+
INSERT INTO environments(name, type, enabled, sort_order)
|
|
5
|
+
VALUES ('development', 'development', true, 100),
|
|
6
|
+
('production', 'production', true, 200);
|
|
7
7
|
`, cb);
|
|
8
8
|
};
|
|
9
9
|
exports.down = function (db, cb) {
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
exports.up = function (db, cb) {
|
|
3
|
+
db.runSql(`
|
|
4
|
+
UPDATE environments set sort_order = 100 where name = 'development' AND sort_order = 9999;
|
|
5
|
+
UPDATE environments set sort_order = 200 where name = 'production' AND sort_order = 9999;
|
|
6
|
+
`, cb);
|
|
7
|
+
};
|
|
8
|
+
exports.down = function (db, cb) {
|
|
9
|
+
cb();
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=20211029094324-set-sort-order-env.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20211029094324-set-sort-order-env.js","sourceRoot":"","sources":["../../src/migrations/20211029094324-set-sort-order-env.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACzB,EAAE,CAAC,MAAM,CACL;;;SAGC,EACD,EAAE,CACL,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE,EAAE;IAC3B,EAAE,EAAE,CAAC;AACT,CAAC,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
exports.up = function (db, cb) {
|
|
3
|
+
db.runSql(`
|
|
4
|
+
ALTER TABLE events
|
|
5
|
+
ADD COLUMN feature_name TEXT;
|
|
6
|
+
CREATE INDEX feature_name_idx ON events(feature_name);
|
|
7
|
+
`, cb);
|
|
8
|
+
};
|
|
9
|
+
exports.down = function (db, cb) {
|
|
10
|
+
db.runSql(`
|
|
11
|
+
DROP INDEX feature_name_idx;
|
|
12
|
+
ALTER TABLE events
|
|
13
|
+
DROP COLUMN feature_name;
|
|
14
|
+
`, cb);
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=20211105104316-add-feature-name-column-to-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20211105104316-add-feature-name-column-to-events.js","sourceRoot":"","sources":["../../src/migrations/20211105104316-add-feature-name-column-to-events.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACzB,EAAE,CAAC,MAAM,CACL;;;;KAIH,EACG,EAAE,CACL,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE,EAAE;IAC3B,EAAE,CAAC,MAAM,CACL;;;;KAIH,EACG,EAAE,CACL,CAAC;AACN,CAAC,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
exports.up = function (db, cb) {
|
|
3
|
+
db.runSql(`ALTER TABLE events ADD COLUMN pre_data jsonb;`, cb);
|
|
4
|
+
};
|
|
5
|
+
exports.down = function (db, cb) {
|
|
6
|
+
db.runSql(`ALTER TABLE events DROP COLUMN pre_data;`, cb);
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=20211105105509-add-predata-column-to-events.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"20211105105509-add-predata-column-to-events.js","sourceRoot":"","sources":["../../src/migrations/20211105105509-add-predata-column-to-events.js"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,CAAC,EAAE,GAAG,UAAU,EAAE,EAAE,EAAE;IACzB,EAAE,CAAC,MAAM,CAAC,+CAA+C,EAAE,EAAE,CAAC,CAAC;AACnE,CAAC,CAAC;AAEF,OAAO,CAAC,IAAI,GAAG,UAAU,EAAE,EAAE,EAAE;IAC3B,EAAE,CAAC,MAAM,CAAC,0CAA0C,EAAE,EAAE,CAAC,CAAC;AAC9D,CAAC,CAAC"}
|
package/dist/migrator.js
CHANGED
|
@@ -3,9 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.resetDb = exports.migrateDb = void 0;
|
|
4
4
|
const db_migrate_shared_1 = require("db-migrate-shared");
|
|
5
5
|
const db_migrate_1 = require("db-migrate");
|
|
6
|
+
const date_fns_1 = require("date-fns");
|
|
6
7
|
db_migrate_shared_1.log.setLogLevel('error');
|
|
7
8
|
async function migrateDb({ db }) {
|
|
8
|
-
const custom = {
|
|
9
|
+
const custom = {
|
|
10
|
+
...db,
|
|
11
|
+
connectionTimeoutMillis: (0, date_fns_1.secondsToMilliseconds)(10),
|
|
12
|
+
};
|
|
9
13
|
const dbm = (0, db_migrate_1.getInstance)(true, {
|
|
10
14
|
cwd: __dirname,
|
|
11
15
|
config: { custom },
|
|
@@ -16,7 +20,10 @@ async function migrateDb({ db }) {
|
|
|
16
20
|
exports.migrateDb = migrateDb;
|
|
17
21
|
// This exists to ease testing
|
|
18
22
|
async function resetDb({ db }) {
|
|
19
|
-
const custom = {
|
|
23
|
+
const custom = {
|
|
24
|
+
...db,
|
|
25
|
+
connectionTimeoutMillis: (0, date_fns_1.secondsToMilliseconds)(10),
|
|
26
|
+
};
|
|
20
27
|
const dbm = (0, db_migrate_1.getInstance)(true, {
|
|
21
28
|
cwd: __dirname,
|
|
22
29
|
config: { custom },
|
package/dist/migrator.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrator.js","sourceRoot":"","sources":["../src/migrator.ts"],"names":[],"mappings":";;;AAAA,yDAAwC;AACxC,2CAAyC;
|
|
1
|
+
{"version":3,"file":"migrator.js","sourceRoot":"","sources":["../src/migrator.ts"],"names":[],"mappings":";;;AAAA,yDAAwC;AACxC,2CAAyC;AAEzC,uCAAiD;AAEjD,uBAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;AAElB,KAAK,UAAU,SAAS,CAAC,EAAE,EAAE,EAAkB;IAClD,MAAM,MAAM,GAAG;QACX,GAAG,EAAE;QACL,uBAAuB,EAAE,IAAA,gCAAqB,EAAC,EAAE,CAAC;KACrD,CAAC;IAEF,MAAM,GAAG,GAAG,IAAA,wBAAW,EAAC,IAAI,EAAE;QAC1B,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,EAAE,MAAM,EAAE;QAClB,GAAG,EAAE,QAAQ;KAChB,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC,EAAE,EAAE,CAAC;AACpB,CAAC;AAbD,8BAaC;AAED,8BAA8B;AACvB,KAAK,UAAU,OAAO,CAAC,EAAE,EAAE,EAAkB;IAChD,MAAM,MAAM,GAAG;QACX,GAAG,EAAE;QACL,uBAAuB,EAAE,IAAA,gCAAqB,EAAC,EAAE,CAAC;KACrD,CAAC;IAEF,MAAM,GAAG,GAAG,IAAA,wBAAW,EAAC,IAAI,EAAE;QAC1B,GAAG,EAAE,SAAS;QACd,MAAM,EAAE,EAAE,MAAM,EAAE;QAClB,GAAG,EAAE,QAAQ;KAChB,CAAC,CAAC;IAEH,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC;AAbD,0BAaC"}
|
|
@@ -146,14 +146,16 @@ test('should return toggle summary', async () => {
|
|
|
146
146
|
.get('/api/admin/client-metrics/features/demo')
|
|
147
147
|
.expect('Content-Type', /json/)
|
|
148
148
|
.expect(200);
|
|
149
|
+
const test = demo.lastHourUsage.find((u) => u.environment === 'test');
|
|
150
|
+
const defaultEnv = demo.lastHourUsage.find((u) => u.environment === 'default');
|
|
149
151
|
expect(demo.featureName).toBe('demo');
|
|
150
152
|
expect(demo.lastHourUsage).toHaveLength(2);
|
|
151
|
-
expect(
|
|
152
|
-
expect(
|
|
153
|
-
expect(
|
|
154
|
-
expect(
|
|
155
|
-
expect(
|
|
156
|
-
expect(
|
|
153
|
+
expect(test.environment).toBe('test');
|
|
154
|
+
expect(test.yes).toBe(2);
|
|
155
|
+
expect(test.no).toBe(6);
|
|
156
|
+
expect(defaultEnv.environment).toBe('default');
|
|
157
|
+
expect(defaultEnv.yes).toBe(5);
|
|
158
|
+
expect(defaultEnv.no).toBe(4);
|
|
157
159
|
expect(demo.seenApplications).toStrictEqual(['backend-api', 'web']);
|
|
158
160
|
});
|
|
159
161
|
test('should only include last hour of metrics return toggle summary', async () => {
|
|
@@ -206,14 +208,16 @@ test('should only include last hour of metrics return toggle summary', async ()
|
|
|
206
208
|
.get('/api/admin/client-metrics/features/demo')
|
|
207
209
|
.expect('Content-Type', /json/)
|
|
208
210
|
.expect(200);
|
|
211
|
+
const test = demo.lastHourUsage.find((u) => u.environment === 'test');
|
|
212
|
+
const defaultEnv = demo.lastHourUsage.find((u) => u.environment === 'default');
|
|
209
213
|
expect(demo.featureName).toBe('demo');
|
|
210
214
|
expect(demo.lastHourUsage).toHaveLength(2);
|
|
211
|
-
expect(
|
|
212
|
-
expect(
|
|
213
|
-
expect(
|
|
214
|
-
expect(
|
|
215
|
-
expect(
|
|
216
|
-
expect(
|
|
215
|
+
expect(defaultEnv.environment).toBe('default');
|
|
216
|
+
expect(defaultEnv.yes).toBe(5);
|
|
217
|
+
expect(defaultEnv.no).toBe(4);
|
|
218
|
+
expect(test.environment).toBe('test');
|
|
219
|
+
expect(test.yes).toBe(2);
|
|
220
|
+
expect(test.no).toBe(6);
|
|
217
221
|
expect(demo.seenApplications).toStrictEqual(['backend-api', 'web']);
|
|
218
222
|
});
|
|
219
223
|
//# sourceMappingURL=client-metrics.e2e.test.js.map
|