unleash-server 4.2.0 → 4.2.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/CHANGELOG.md +1266 -0
- 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 +2 -1
- 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 +1 -1
- package/dist/lib/addons/feature-event-formatter-md.js +13 -14
- package/dist/lib/addons/feature-event-formatter-md.js.map +1 -1
- package/dist/lib/addons/slack.d.ts +2 -1
- package/dist/lib/addons/slack.js.map +1 -1
- package/dist/lib/addons/slack.test.js +6 -0
- package/dist/lib/addons/slack.test.js.map +1 -1
- package/dist/lib/addons/teams.d.ts +2 -1
- 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 +0 -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/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.js +6 -2
- 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/client-api/feature.test.js +3 -2
- package/dist/lib/routes/client-api/feature.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/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 -4
- 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 +3 -2
- 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/state-util.js +1 -1
- package/dist/lib/services/state-util.js.map +1 -1
- package/dist/lib/services/user-service.d.ts +3 -2
- package/dist/lib/services/user-service.js +37 -21
- package/dist/lib/services/user-service.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/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/stores/event-store.d.ts +4 -3
- 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/20210428103922-patch-role-table.d.ts +2 -0
- package/dist/migrations/20210428103922-patch-role-table.js +19 -0
- package/dist/migrations/20210428103922-patch-role-table.js.map +1 -0
- package/dist/migrations/20210428103924-patch-admin-role-name.d.ts +2 -0
- package/dist/migrations/20210428103924-patch-admin-role-name.js +11 -0
- package/dist/migrations/20210428103924-patch-admin-role-name.js.map +1 -0
- package/dist/migrations/20210428103924-patch-admin_role.d.ts +2 -0
- package/dist/migrations/20210428103924-patch-admin_role.js +23 -0
- package/dist/migrations/20210428103924-patch-admin_role.js.map +1 -0
- package/dist/migrations/20210428103924-patch-role_permissions.d.ts +2 -0
- package/dist/migrations/20210428103924-patch-role_permissions.js +50 -0
- package/dist/migrations/20210428103924-patch-role_permissions.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/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 +2 -16
- package/dist/test/e2e/api/admin/user-admin.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/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/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 +3 -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 -1
- 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/docs/api/oas/openapi.yaml +35 -55
- package/package.json +10 -11
- 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.d.ts +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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-metrics-store.js","sourceRoot":"","sources":["../../../src/lib/db/client-metrics-store.ts"],"names":[],"mappings":";;;;;;AAAA,oDAAkC;AAElC,4EAAmD;AACnD,oDAA2C;
|
|
1
|
+
{"version":3,"file":"client-metrics-store.js","sourceRoot":"","sources":["../../../src/lib/db/client-metrics-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,25 +1,28 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { EventEmitter } from 'events';
|
|
3
3
|
import { Knex } from 'knex';
|
|
4
|
+
import { IEvent, IBaseEvent } from '../types/events';
|
|
4
5
|
import { LogProvider } from '../logger';
|
|
5
6
|
import { IEventStore } from '../types/stores/event-store';
|
|
6
|
-
import {
|
|
7
|
+
import { ITag } from '../types/model';
|
|
7
8
|
export interface IEventTable {
|
|
8
9
|
id: number;
|
|
9
10
|
type: string;
|
|
10
11
|
created_by: string;
|
|
11
12
|
created_at: Date;
|
|
12
|
-
data
|
|
13
|
+
data?: any;
|
|
14
|
+
pre_data?: any;
|
|
15
|
+
feature_name?: string;
|
|
13
16
|
project?: string;
|
|
14
17
|
environment?: string;
|
|
15
|
-
tags: [];
|
|
18
|
+
tags: ITag[];
|
|
16
19
|
}
|
|
17
20
|
declare class EventStore extends EventEmitter implements IEventStore {
|
|
18
21
|
private db;
|
|
19
22
|
private logger;
|
|
20
23
|
constructor(db: Knex, getLogger: LogProvider);
|
|
21
|
-
store(event:
|
|
22
|
-
batchStore(events:
|
|
24
|
+
store(event: IBaseEvent): Promise<void>;
|
|
25
|
+
batchStore(events: IBaseEvent[]): Promise<void>;
|
|
23
26
|
delete(key: number): Promise<void>;
|
|
24
27
|
deleteAll(): Promise<void>;
|
|
25
28
|
destroy(): void;
|
|
@@ -29,7 +32,8 @@ declare class EventStore extends EventEmitter implements IEventStore {
|
|
|
29
32
|
getEvents(query?: Object): Promise<IEvent[]>;
|
|
30
33
|
getEventsFilterByType(name: string): Promise<IEvent[]>;
|
|
31
34
|
getEventsFilterByProject(project: string): Promise<IEvent[]>;
|
|
35
|
+
getEventsForFeature(featureName: string): Promise<IEvent[]>;
|
|
32
36
|
rowToEvent(row: IEventTable): IEvent;
|
|
33
|
-
eventToDbRow(e:
|
|
37
|
+
eventToDbRow(e: IBaseEvent): Omit<IEventTable, 'id' | 'created_at'>;
|
|
34
38
|
}
|
|
35
39
|
export default EventStore;
|
|
@@ -8,7 +8,9 @@ const EVENT_COLUMNS = [
|
|
|
8
8
|
'created_by',
|
|
9
9
|
'created_at',
|
|
10
10
|
'data',
|
|
11
|
+
'pre_data',
|
|
11
12
|
'tags',
|
|
13
|
+
'feature_name',
|
|
12
14
|
'project',
|
|
13
15
|
'environment',
|
|
14
16
|
];
|
|
@@ -94,6 +96,7 @@ class EventStore extends events_1.EventEmitter {
|
|
|
94
96
|
return rows.map(this.rowToEvent);
|
|
95
97
|
}
|
|
96
98
|
catch (err) {
|
|
99
|
+
this.logger.error(err);
|
|
97
100
|
return [];
|
|
98
101
|
}
|
|
99
102
|
}
|
|
@@ -110,6 +113,19 @@ class EventStore extends events_1.EventEmitter {
|
|
|
110
113
|
return [];
|
|
111
114
|
}
|
|
112
115
|
}
|
|
116
|
+
async getEventsForFeature(featureName) {
|
|
117
|
+
try {
|
|
118
|
+
const rows = await this.db
|
|
119
|
+
.select(EVENT_COLUMNS)
|
|
120
|
+
.from(TABLE)
|
|
121
|
+
.where({ feature_name: featureName })
|
|
122
|
+
.orderBy('created_at', 'desc');
|
|
123
|
+
return rows.map(this.rowToEvent);
|
|
124
|
+
}
|
|
125
|
+
catch (err) {
|
|
126
|
+
return [];
|
|
127
|
+
}
|
|
128
|
+
}
|
|
113
129
|
rowToEvent(row) {
|
|
114
130
|
return {
|
|
115
131
|
id: row.id,
|
|
@@ -117,7 +133,9 @@ class EventStore extends events_1.EventEmitter {
|
|
|
117
133
|
createdBy: row.created_by,
|
|
118
134
|
createdAt: row.created_at,
|
|
119
135
|
data: row.data,
|
|
136
|
+
preData: row.pre_data,
|
|
120
137
|
tags: row.tags || [],
|
|
138
|
+
featureName: row.feature_name,
|
|
121
139
|
project: row.project,
|
|
122
140
|
environment: row.environment,
|
|
123
141
|
};
|
|
@@ -127,12 +145,14 @@ class EventStore extends events_1.EventEmitter {
|
|
|
127
145
|
type: e.type,
|
|
128
146
|
created_by: e.createdBy,
|
|
129
147
|
data: e.data,
|
|
148
|
+
pre_data: e.preData,
|
|
149
|
+
//@ts-ignore workaround for json-array
|
|
130
150
|
tags: JSON.stringify(e.tags),
|
|
151
|
+
feature_name: e.featureName,
|
|
131
152
|
project: e.project,
|
|
132
153
|
environment: e.environment,
|
|
133
154
|
};
|
|
134
155
|
}
|
|
135
156
|
}
|
|
136
|
-
module.exports = EventStore;
|
|
137
157
|
exports.default = EventStore;
|
|
138
158
|
//# sourceMappingURL=event-store.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event-store.js","sourceRoot":"","sources":["../../../src/lib/db/event-store.ts"],"names":[],"mappings":";;AAAA,mCAAsC;AAEtC,
|
|
1
|
+
{"version":3,"file":"event-store.js","sourceRoot":"","sources":["../../../src/lib/db/event-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const notfound_error_1 = __importDefault(require("../error/notfound-error"));
|
|
7
|
+
const date_fns_1 = require("date-fns");
|
|
7
8
|
const TABLE = 'unleash_session';
|
|
8
9
|
class SessionStore {
|
|
9
10
|
constructor(db, eventBus, getLogger) {
|
|
@@ -47,7 +48,7 @@ class SessionStore {
|
|
|
47
48
|
.insert({
|
|
48
49
|
sid: data.sid,
|
|
49
50
|
sess: JSON.stringify(data.sess),
|
|
50
|
-
expired: data.expired ||
|
|
51
|
+
expired: data.expired || (0, date_fns_1.addDays)(Date.now(), 1),
|
|
51
52
|
})
|
|
52
53
|
.returning(['sid', 'sess', 'created_at', 'expired']);
|
|
53
54
|
if (row) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../../src/lib/db/session-store.ts"],"names":[],"mappings":";;;;;AAGA,6EAAoD;
|
|
1
|
+
{"version":3,"file":"session-store.js","sourceRoot":"","sources":["../../../src/lib/db/session-store.ts"],"names":[],"mappings":";;;;;AAGA,6EAAoD;AAEpD,uCAAmC;AAEnC,MAAM,KAAK,GAAG,iBAAiB,CAAC;AAShC,MAAqB,YAAY;IAO7B,YAAY,EAAQ,EAAE,QAAsB,EAAE,SAAsB;QAChE,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,yBAAyB,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,iBAAiB;QACnB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAc,KAAK,CAAC;aACzC,SAAS,CAAC,SAAS,CAAC;aACpB,OAAO,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,IAAI,EAAE,CAAC;aACnC,OAAO,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,MAAc;QACnC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAc,KAAK,CAAC,CAAC,QAAQ,CACnD,oCAAoC,EACpC,CAAC,MAAM,CAAC,CACX,CAAC;QACF,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACzB,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACtC;QACD,MAAM,IAAI,wBAAa,CACnB,4CAA4C,MAAM,EAAE,CACvD,CAAC;IACN,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACjB,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAc,KAAK,CAAC;aACxC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC;aACtB,KAAK,EAAE,CAAC;QACb,IAAI,GAAG,EAAE;YACL,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;SACjC;QACD,MAAM,IAAI,wBAAa,CAAC,mCAAmC,GAAG,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,MAAc;QACtC,MAAM,IAAI,CAAC,EAAE,CAAc,KAAK,CAAC;aAC5B,QAAQ,CAAC,oCAAoC,EAAE,CAAC,MAAM,CAAC,CAAC;aACxD,GAAG,EAAE,CAAC;IACf,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACpB,MAAM,IAAI,CAAC,EAAE,CAAc,KAAK,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAiC;QACjD,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE,CAAc,KAAK,CAAC;aACxC,MAAM,CAAC;YACJ,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;YAC/B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,IAAA,kBAAO,EAAC,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;SAClD,CAAC;aACD,SAAS,CAAc,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC;QACtE,IAAI,GAAG,EAAE;YACL,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;SACjC;QACD,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,SAAS;QACX,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC;IAC/B,CAAC;IAED,OAAO,KAAU,CAAC;IAElB,KAAK,CAAC,MAAM,CAAC,GAAW;QACpB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAC5B,gCAAgC,KAAK,4BAA4B,EACjE,CAAC,GAAG,CAAC,CACR,CAAC;QACF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,MAAM;QACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAc,KAAK,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAEO,YAAY,CAAC,GAAgB;QACjC,OAAO;YACH,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,OAAO,EAAE,GAAG,CAAC,OAAO;SACvB,CAAC;IACN,CAAC;CACJ;AAhGD,+BAgGC;AAED,MAAM,CAAC,OAAO,GAAG,YAAY,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
class MinimumOneEnvironmentError extends Error {
|
|
4
|
+
constructor(message) {
|
|
5
|
+
super();
|
|
6
|
+
Error.captureStackTrace(this, this.constructor);
|
|
7
|
+
this.name = this.constructor.name;
|
|
8
|
+
this.message = message;
|
|
9
|
+
}
|
|
10
|
+
toJSON() {
|
|
11
|
+
return {
|
|
12
|
+
isJoi: true,
|
|
13
|
+
name: this.constructor.name,
|
|
14
|
+
details: [
|
|
15
|
+
{
|
|
16
|
+
message: this.message,
|
|
17
|
+
},
|
|
18
|
+
],
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.default = MinimumOneEnvironmentError;
|
|
23
|
+
module.exports = MinimumOneEnvironmentError;
|
|
24
|
+
//# sourceMappingURL=minimum-one-environment-error.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minimum-one-environment-error.js","sourceRoot":"","sources":["../../../src/lib/error/minimum-one-environment-error.ts"],"names":[],"mappings":";;AAAA,MAAM,0BAA2B,SAAQ,KAAK;IAC1C,YAAY,OAAe;QACvB,KAAK,EAAE,CAAC;QACR,KAAK,CAAC,iBAAiB,CAAC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAEhD,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAClC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IAC3B,CAAC;IAED,MAAM;QACF,OAAO;YACH,KAAK,EAAE,IAAI;YACX,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;YAC3B,OAAO,EAAE;gBACL;oBACI,OAAO,EAAE,IAAI,CAAC,OAAO;iBACxB;aACJ;SACJ,CAAC;IACN,CAAC;CACJ;AACD,kBAAe,0BAA0B,CAAC;AAC1C,MAAM,CAAC,OAAO,GAAG,0BAA0B,CAAC"}
|
package/dist/lib/metrics.js
CHANGED
|
@@ -26,8 +26,7 @@ exports.createMetricsMonitor = void 0;
|
|
|
26
26
|
const prom_client_1 = __importDefault(require("prom-client"));
|
|
27
27
|
const events = __importStar(require("./metric-events"));
|
|
28
28
|
const events_1 = require("./types/events");
|
|
29
|
-
const
|
|
30
|
-
const ONE_MINUTE = 60 * 1000;
|
|
29
|
+
const date_fns_1 = require("date-fns");
|
|
31
30
|
class MetricsMonitor {
|
|
32
31
|
constructor() {
|
|
33
32
|
this.timer = null;
|
|
@@ -99,24 +98,33 @@ class MetricsMonitor {
|
|
|
99
98
|
}
|
|
100
99
|
}
|
|
101
100
|
collectStaticCounters();
|
|
102
|
-
this.timer = setInterval(() => collectStaticCounters(),
|
|
101
|
+
this.timer = setInterval(() => collectStaticCounters(), (0, date_fns_1.hoursToMilliseconds)(2)).unref();
|
|
103
102
|
eventBus.on(events.REQUEST_TIME, ({ path, method, time, statusCode }) => {
|
|
104
103
|
requestDuration.labels(path, method, statusCode).observe(time);
|
|
105
104
|
});
|
|
106
105
|
eventBus.on(events.DB_TIME, ({ store, action, time }) => {
|
|
107
106
|
dbDuration.labels(store, action).observe(time);
|
|
108
107
|
});
|
|
109
|
-
eventStore.on(events_1.FEATURE_CREATED, ({
|
|
110
|
-
featureToggleUpdateTotal.labels(
|
|
108
|
+
eventStore.on(events_1.FEATURE_CREATED, ({ featureName }) => {
|
|
109
|
+
featureToggleUpdateTotal.labels(featureName).inc();
|
|
111
110
|
});
|
|
112
|
-
eventStore.on(events_1.FEATURE_UPDATED, ({
|
|
113
|
-
featureToggleUpdateTotal.labels(
|
|
111
|
+
eventStore.on(events_1.FEATURE_UPDATED, ({ featureName }) => {
|
|
112
|
+
featureToggleUpdateTotal.labels(featureName).inc();
|
|
114
113
|
});
|
|
115
|
-
eventStore.on(events_1.
|
|
116
|
-
featureToggleUpdateTotal.labels(
|
|
114
|
+
eventStore.on(events_1.FEATURE_STRATEGY_ADD, ({ featureName }) => {
|
|
115
|
+
featureToggleUpdateTotal.labels(featureName).inc();
|
|
117
116
|
});
|
|
118
|
-
eventStore.on(events_1.
|
|
119
|
-
featureToggleUpdateTotal.labels(
|
|
117
|
+
eventStore.on(events_1.FEATURE_STRATEGY_REMOVE, ({ featureName }) => {
|
|
118
|
+
featureToggleUpdateTotal.labels(featureName).inc();
|
|
119
|
+
});
|
|
120
|
+
eventStore.on(events_1.FEATURE_STRATEGY_UPDATE, ({ featureName }) => {
|
|
121
|
+
featureToggleUpdateTotal.labels(featureName).inc();
|
|
122
|
+
});
|
|
123
|
+
eventStore.on(events_1.FEATURE_ARCHIVED, ({ featureName }) => {
|
|
124
|
+
featureToggleUpdateTotal.labels(featureName).inc();
|
|
125
|
+
});
|
|
126
|
+
eventStore.on(events_1.FEATURE_REVIVED, ({ featureName }) => {
|
|
127
|
+
featureToggleUpdateTotal.labels(featureName).inc();
|
|
120
128
|
});
|
|
121
129
|
clientMetricsStore.on('metrics', (m) => {
|
|
122
130
|
// eslint-disable-next-line no-restricted-syntax
|
|
@@ -172,7 +180,7 @@ class MetricsMonitor {
|
|
|
172
180
|
dbPoolPendingAcquires.set(data.pendingAcquires);
|
|
173
181
|
});
|
|
174
182
|
this.registerPoolMetrics(db.client.pool, eventBus);
|
|
175
|
-
this.poolMetricsTimer = setInterval(() => this.registerPoolMetrics(db.client.pool, eventBus),
|
|
183
|
+
this.poolMetricsTimer = setInterval(() => this.registerPoolMetrics(db.client.pool, eventBus), (0, date_fns_1.minutesToMilliseconds)(1));
|
|
176
184
|
this.poolMetricsTimer.unref();
|
|
177
185
|
}
|
|
178
186
|
}
|
package/dist/lib/metrics.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/lib/metrics.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8DAAiC;AAGjC,wDAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/lib/metrics.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/metrics.test.js
CHANGED
|
@@ -51,6 +51,7 @@ test('should collect metrics for requests', async () => {
|
|
|
51
51
|
});
|
|
52
52
|
test('should collect metrics for updated toggles', async () => {
|
|
53
53
|
stores.eventStore.emit(events_2.FEATURE_UPDATED, {
|
|
54
|
+
featureName: 'TestToggle',
|
|
54
55
|
data: { name: 'TestToggle' },
|
|
55
56
|
});
|
|
56
57
|
const metrics = await prometheusRegister.metrics();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.test.js","sourceRoot":"","sources":["../../src/lib/metrics.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"metrics.test.js","sourceRoot":"","sources":["../../src/lib/metrics.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -22,25 +22,11 @@ const rbacMiddleware = (config, { featureToggleStore }, accessService) => {
|
|
|
22
22
|
// For /api/admin/projects/:projectId we will find it as part of params
|
|
23
23
|
let { projectId } = params;
|
|
24
24
|
// Temporary workaround to figure out projectId for feature toggle updates.
|
|
25
|
-
|
|
25
|
+
// will be removed in Unleash v5.0
|
|
26
|
+
if ([permissions_1.DELETE_FEATURE, permissions_1.UPDATE_FEATURE].includes(permission)) {
|
|
26
27
|
const { featureName } = params;
|
|
27
28
|
projectId = await featureToggleStore.getProjectId(featureName);
|
|
28
29
|
}
|
|
29
|
-
else if (permission === permissions_1.UPDATE_FEATURE) {
|
|
30
|
-
// if projectId of feature is different from project in body
|
|
31
|
-
// need to check that we have UPDATE_FEATURE access on both old and new project
|
|
32
|
-
// TODO: Look at this to make it smoother once we get around to looking at project
|
|
33
|
-
// Changing project of a toggle should most likely be a separate endpoint
|
|
34
|
-
const { featureName } = params;
|
|
35
|
-
projectId = await featureToggleStore.getProjectId(featureName);
|
|
36
|
-
const newProjectId = req.body
|
|
37
|
-
? req.body.project || projectId
|
|
38
|
-
: projectId;
|
|
39
|
-
if (newProjectId !== projectId) {
|
|
40
|
-
return (accessService.hasPermission(user, permission, projectId) &&
|
|
41
|
-
accessService.hasPermission(user, permission, newProjectId));
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
30
|
else if (permission === permissions_1.CREATE_FEATURE) {
|
|
45
31
|
projectId = req.body.project || 'default';
|
|
46
32
|
}
|
|
@@ -49,6 +35,5 @@ const rbacMiddleware = (config, { featureToggleStore }, accessService) => {
|
|
|
49
35
|
return next();
|
|
50
36
|
};
|
|
51
37
|
};
|
|
52
|
-
module.exports = rbacMiddleware;
|
|
53
38
|
exports.default = rbacMiddleware;
|
|
54
39
|
//# sourceMappingURL=rbac-middleware.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rbac-middleware.js","sourceRoot":"","sources":["../../../src/lib/middleware/rbac-middleware.ts"],"names":[],"mappings":";;AAAA,sEAAsE;AACtE,sDAK8B;AAa9B,MAAM,cAAc,GAAG,CACnB,MAAyC,EACzC,EAAE,kBAAkB,EAA8C,EAClE,aAAgC,EAC7B,EAAE;IACL,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;IAClE,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAEzC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACtB,GAAG,CAAC,SAAS,GAAG,KAAK,EAAE,UAAkB,EAAE,EAAE;YACzC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;YAE7B,IAAI,CAAC,IAAI,EAAE;gBACP,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBAC9D,OAAO,KAAK,CAAC;aAChB;YAED,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAK,CAAC,CAAC;aAC3C;YAED,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;gBACV,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBAC5D,OAAO,KAAK,CAAC;aAChB;YAED,uEAAuE;YACvE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;YAE3B,2EAA2E;YAC3E,IAAI,
|
|
1
|
+
{"version":3,"file":"rbac-middleware.js","sourceRoot":"","sources":["../../../src/lib/middleware/rbac-middleware.ts"],"names":[],"mappings":";;AAAA,sEAAsE;AACtE,sDAK8B;AAa9B,MAAM,cAAc,GAAG,CACnB,MAAyC,EACzC,EAAE,kBAAkB,EAA8C,EAClE,aAAgC,EAC7B,EAAE;IACL,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,gCAAgC,CAAC,CAAC;IAClE,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAEzC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACtB,GAAG,CAAC,SAAS,GAAG,KAAK,EAAE,UAAkB,EAAE,EAAE;YACzC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;YAE7B,IAAI,CAAC,IAAI,EAAE;gBACP,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;gBAC9D,OAAO,KAAK,CAAC;aAChB;YAED,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,OAAO,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,mBAAK,CAAC,CAAC;aAC3C;YAED,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE;gBACV,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBAC5D,OAAO,KAAK,CAAC;aAChB;YAED,uEAAuE;YACvE,IAAI,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;YAE3B,2EAA2E;YAC3E,kCAAkC;YAClC,IAAI,CAAC,4BAAc,EAAE,4BAAc,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBACvD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,CAAC;gBAC/B,SAAS,GAAG,MAAM,kBAAkB,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;aAClE;iBAAM,IAAI,UAAU,KAAK,4BAAc,EAAE;gBACtC,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,SAAS,CAAC;aAC7C;YAED,OAAO,aAAa,CAAC,aAAa,CAAC,IAAI,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;QACpE,CAAC,CAAC;QACF,OAAO,IAAI,EAAE,CAAC;IAClB,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
|
@@ -198,27 +198,6 @@ test('should lookup projectId from data', async () => {
|
|
|
198
198
|
await req.checkRbac(perms.CREATE_FEATURE);
|
|
199
199
|
expect(accessService.hasPermission).toHaveBeenCalledWith(req.user, perms.CREATE_FEATURE, projectId);
|
|
200
200
|
});
|
|
201
|
-
test('Need access to UPDATE_FEATURE on the project you change to', async () => {
|
|
202
|
-
const oldProjectId = 'some-project-34';
|
|
203
|
-
const newProjectId = 'some-project-35';
|
|
204
|
-
const featureName = 'some-feature-toggle';
|
|
205
|
-
const accessService = {
|
|
206
|
-
hasPermission: jest.fn().mockReturnValue(true),
|
|
207
|
-
};
|
|
208
|
-
featureToggleStore.getProjectId = jest.fn().mockReturnValue(oldProjectId);
|
|
209
|
-
const func = (0, rbac_middleware_1.default)(config, { featureToggleStore }, accessService);
|
|
210
|
-
const cb = jest.fn();
|
|
211
|
-
const req = {
|
|
212
|
-
user: new user_1.default({ username: 'user', id: 1 }),
|
|
213
|
-
params: { featureName },
|
|
214
|
-
body: { featureName, project: newProjectId },
|
|
215
|
-
};
|
|
216
|
-
func(req, undefined, cb);
|
|
217
|
-
await req.checkRbac(perms.UPDATE_FEATURE);
|
|
218
|
-
expect(accessService.hasPermission).toHaveBeenCalledTimes(2);
|
|
219
|
-
expect(accessService.hasPermission).toHaveBeenNthCalledWith(1, req.user, perms.UPDATE_FEATURE, oldProjectId);
|
|
220
|
-
expect(accessService.hasPermission).toHaveBeenNthCalledWith(2, req.user, perms.UPDATE_FEATURE, newProjectId);
|
|
221
|
-
});
|
|
222
201
|
test('Does not double check permission if not changing project when updating toggle', async () => {
|
|
223
202
|
const oldProjectId = 'some-project-34';
|
|
224
203
|
const featureName = 'some-feature-toggle';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rbac-middleware.test.js","sourceRoot":"","sources":["../../../src/lib/middleware/rbac-middleware.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"rbac-middleware.test.js","sourceRoot":"","sources":["../../../src/lib/middleware/rbac-middleware.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,11 +4,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const helmet_1 = __importDefault(require("helmet"));
|
|
7
|
+
const date_fns_1 = require("date-fns");
|
|
7
8
|
const secureHeaders = (config) => {
|
|
8
9
|
if (config.secureHeaders) {
|
|
9
10
|
return (0, helmet_1.default)({
|
|
10
11
|
hsts: {
|
|
11
|
-
maxAge:
|
|
12
|
+
maxAge: (0, date_fns_1.hoursToSeconds)(24 * 365 * 2),
|
|
12
13
|
includeSubDomains: true,
|
|
13
14
|
preload: true,
|
|
14
15
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secure-headers.js","sourceRoot":"","sources":["../../../src/lib/middleware/secure-headers.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;
|
|
1
|
+
{"version":3,"file":"secure-headers.js","sourceRoot":"","sources":["../../../src/lib/middleware/secure-headers.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAG5B,uCAA0C;AAE1C,MAAM,aAAa,GAA+C,CAAC,MAAM,EAAE,EAAE;IACzE,IAAI,MAAM,CAAC,aAAa,EAAE;QACtB,OAAO,IAAA,gBAAM,EAAC;YACV,IAAI,EAAE;gBACF,MAAM,EAAE,IAAA,yBAAc,EAAC,EAAE,GAAG,GAAG,GAAG,CAAC,CAAC;gBACpC,iBAAiB,EAAE,IAAI;gBACvB,OAAO,EAAE,IAAI;aAChB;YACD,qBAAqB,EAAE;gBACnB,UAAU,EAAE;oBACR,UAAU,EAAE,CAAC,QAAQ,CAAC;oBACtB,OAAO,EAAE;wBACL,QAAQ;wBACR,sBAAsB;wBACtB,mBAAmB;qBACtB;oBACD,QAAQ,EAAE;wBACN,QAAQ;wBACR,iBAAiB;wBACjB,sBAAsB;wBACtB,mBAAmB;wBACnB,OAAO;qBACV;oBACD,SAAS,EAAE,CAAC,QAAQ,CAAC;oBACrB,MAAM,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC;iBAC9C;aACJ;SACJ,CAAC,CAAC;KACN;IACD,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACtB,IAAI,EAAE,CAAC;IACX,CAAC,CAAC;AACN,CAAC,CAAC;AAEF,kBAAe,aAAa,CAAC"}
|
|
@@ -5,12 +5,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const express_session_1 = __importDefault(require("express-session"));
|
|
7
7
|
const connect_session_knex_1 = __importDefault(require("connect-session-knex"));
|
|
8
|
-
const
|
|
9
|
-
const HOUR = 60 * 60 * 1000;
|
|
8
|
+
const date_fns_1 = require("date-fns");
|
|
10
9
|
function sessionDb(config, knex) {
|
|
11
10
|
let store;
|
|
12
11
|
const { db } = config.session;
|
|
13
|
-
const age = config.session.ttlHours
|
|
12
|
+
const age = (0, date_fns_1.hoursToMilliseconds)(config.session.ttlHours) || (0, date_fns_1.hoursToMilliseconds)(48);
|
|
14
13
|
const KnexSessionStore = (0, connect_session_knex_1.default)(express_session_1.default);
|
|
15
14
|
if (db) {
|
|
16
15
|
store = new KnexSessionStore({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-db.js","sourceRoot":"","sources":["../../../src/lib/middleware/session-db.ts"],"names":[],"mappings":";;;;;AACA,sEAAsC;AACtC,gFAAoD;
|
|
1
|
+
{"version":3,"file":"session-db.js","sourceRoot":"","sources":["../../../src/lib/middleware/session-db.ts"],"names":[],"mappings":";;;;;AACA,sEAAsC;AACtC,gFAAoD;AAGpD,uCAA+C;AAE/C,SAAS,SAAS,CACd,MAAoE,EACpE,IAAU;IAEV,IAAI,KAAK,CAAC;IACV,MAAM,EAAE,EAAE,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;IAC9B,MAAM,GAAG,GACL,IAAA,8BAAmB,EAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,IAAA,8BAAmB,EAAC,EAAE,CAAC,CAAC;IAC5E,MAAM,gBAAgB,GAAG,IAAA,8BAAgB,EAAC,yBAAO,CAAC,CAAC;IACnD,IAAI,EAAE,EAAE;QACJ,KAAK,GAAG,IAAI,gBAAgB,CAAC;YACzB,SAAS,EAAE,iBAAiB;YAC5B,WAAW,EAAE,KAAK;YAClB,aAAa;YACb,IAAI;SACP,CAAC,CAAC;KACN;SAAM;QACH,KAAK,GAAG,IAAI,yBAAO,CAAC,WAAW,EAAE,CAAC;KACrC;IACD,OAAO,IAAA,yBAAO,EAAC;QACX,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,KAAK;QACd,MAAM,EAAE,KAAK;QACb,iBAAiB,EAAE,KAAK;QACxB,KAAK;QACL,MAAM,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;QAC9B,MAAM,EAAE;YACJ,IAAI,EACA,MAAM,CAAC,MAAM,CAAC,WAAW,KAAK,EAAE;gBAC5B,CAAC,CAAC,GAAG;gBACL,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW;YACnC,MAAM,EAAE,MAAM,CAAC,aAAa;YAC5B,MAAM,EAAE,GAAG;SACd;KACJ,CAAC,CAAC;AACP,CAAC;AAED,kBAAe,SAAS,CAAC"}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
+
import { Request, Response } from 'express';
|
|
1
2
|
import { IUnleashConfig } from '../../types/option';
|
|
2
3
|
import { IUnleashServices } from '../../types/services';
|
|
3
|
-
|
|
4
|
+
import Controller from '../controller';
|
|
4
5
|
export default class EventController extends Controller {
|
|
5
6
|
private eventService;
|
|
6
7
|
constructor(config: IUnleashConfig, { eventService }: Pick<IUnleashServices, 'eventService'>);
|
|
7
|
-
getEvents(req: any,
|
|
8
|
-
|
|
8
|
+
getEvents(req: Request<any, any, any, {
|
|
9
|
+
project?: string;
|
|
10
|
+
}>, res: Response): Promise<void>;
|
|
11
|
+
getEventsForToggle(req: Request<{
|
|
12
|
+
name: string;
|
|
13
|
+
}>, res: Response): Promise<void>;
|
|
9
14
|
}
|
|
10
|
-
export {};
|
|
@@ -1,34 +1,33 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
const permissions_1 = require("../../types/permissions");
|
|
4
|
-
const
|
|
5
|
-
const eventDiffer = require('../../event-differ');
|
|
7
|
+
const controller_1 = __importDefault(require("../controller"));
|
|
6
8
|
const version = 1;
|
|
7
|
-
class EventController extends
|
|
9
|
+
class EventController extends controller_1.default {
|
|
8
10
|
constructor(config, { eventService }) {
|
|
9
11
|
super(config);
|
|
10
12
|
this.eventService = eventService;
|
|
11
13
|
this.get('/', this.getEvents, permissions_1.ADMIN);
|
|
12
14
|
this.get('/:name', this.getEventsForToggle);
|
|
13
15
|
}
|
|
14
|
-
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
15
16
|
async getEvents(req, res) {
|
|
17
|
+
const { project } = req.query;
|
|
16
18
|
let events;
|
|
17
|
-
if (
|
|
18
|
-
events = await this.eventService.getEventsForProject(
|
|
19
|
+
if (project) {
|
|
20
|
+
events = await this.eventService.getEventsForProject(project);
|
|
19
21
|
}
|
|
20
22
|
else {
|
|
21
23
|
events = await this.eventService.getEvents();
|
|
22
24
|
}
|
|
23
|
-
eventDiffer.addDiffs(events);
|
|
24
25
|
res.json({ version, events });
|
|
25
26
|
}
|
|
26
|
-
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
27
27
|
async getEventsForToggle(req, res) {
|
|
28
28
|
const toggleName = req.params.name;
|
|
29
29
|
const events = await this.eventService.getEventsForToggle(toggleName);
|
|
30
30
|
if (events) {
|
|
31
|
-
eventDiffer.addDiffs(events);
|
|
32
31
|
res.json({ toggleName, events });
|
|
33
32
|
}
|
|
34
33
|
else {
|
|
@@ -37,5 +36,4 @@ class EventController extends Controller {
|
|
|
37
36
|
}
|
|
38
37
|
}
|
|
39
38
|
exports.default = EventController;
|
|
40
|
-
module.exports = EventController;
|
|
41
39
|
//# sourceMappingURL=event.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/event.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"event.js","sourceRoot":"","sources":["../../../../src/lib/routes/admin-api/event.ts"],"names":[],"mappings":";;;;;AAIA,yDAAgD;AAEhD,+DAAuC;AAEvC,MAAM,OAAO,GAAG,CAAC,CAAC;AAElB,MAAqB,eAAgB,SAAQ,oBAAU;IAGnD,YACI,MAAsB,EACtB,EAAE,YAAY,EAA0C;QAExD,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,EAAE,mBAAK,CAAC,CAAC;QACrC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,SAAS,CACX,GAAiD,EACjD,GAAa;QAEb,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;QAC9B,IAAI,MAAgB,CAAC;QACrB,IAAI,OAAO,EAAE;YACT,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC;SACjE;aAAM;YACH,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,EAAE,CAAC;SAChD;QACD,GAAG,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,kBAAkB,CACpB,GAA8B,EAC9B,GAAa;QAEb,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAEtE,IAAI,MAAM,EAAE;YACR,GAAG,CAAC,IAAI,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;SACpC;aAAM;YACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;SAC5D;IACL,CAAC;CACJ;AAxCD,kCAwCC"}
|
|
@@ -90,7 +90,11 @@ class FeatureController extends controller_1.default {
|
|
|
90
90
|
const validatedToggle = await feature_schema_1.featureSchema.validateAsync(toggle);
|
|
91
91
|
const { enabled } = validatedToggle;
|
|
92
92
|
const createdFeature = await this.service.createFeatureToggle(validatedToggle.project, validatedToggle, userName);
|
|
93
|
-
const strategies = await Promise.all(toggle.strategies.map(async (s) => this.service.createStrategy(s,
|
|
93
|
+
const strategies = await Promise.all(toggle.strategies.map(async (s) => this.service.createStrategy(s, {
|
|
94
|
+
projectId: createdFeature.project,
|
|
95
|
+
featureName: createdFeature.name,
|
|
96
|
+
environment: constants_1.DEFAULT_ENV,
|
|
97
|
+
}, userName)));
|
|
94
98
|
await this.service.updateEnabled(createdFeature.project, createdFeature.name, constants_1.DEFAULT_ENV, enabled, userName);
|
|
95
99
|
res.status(201).json({
|
|
96
100
|
...createdFeature,
|
|
@@ -108,7 +112,7 @@ class FeatureController extends controller_1.default {
|
|
|
108
112
|
await this.service.updateFeatureToggle(projectId, value, userName);
|
|
109
113
|
await this.service.removeAllStrategiesForEnv(featureName);
|
|
110
114
|
if (updatedFeature.strategies) {
|
|
111
|
-
await Promise.all(updatedFeature.strategies.map(async (s) => this.service.createStrategy(s, projectId, featureName, userName)));
|
|
115
|
+
await Promise.all(updatedFeature.strategies.map(async (s) => this.service.createStrategy(s, { projectId, featureName, environment: constants_1.DEFAULT_ENV }, userName)));
|
|
112
116
|
}
|
|
113
117
|
await this.service.updateEnabled(projectId, updatedFeature.name, constants_1.DEFAULT_ENV, updatedFeature.enabled, userName);
|
|
114
118
|
const feature = await this.service.storeFeatureUpdatedEventLegacy(featureName, userName);
|