unleash-server 4.2.2 → 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 +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/db/client-metrics-store-v2.js +5 -1
- package/dist/lib/db/client-metrics-store-v2.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/metrics.js +17 -8
- 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/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/state.js +0 -1
- package/dist/lib/routes/admin-api/state.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/client-metrics/index.d.ts +6 -5
- package/dist/lib/services/client-metrics/index.js +6 -3
- 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 -14
- package/dist/lib/services/client-metrics/ttl-list.js +17 -12
- package/dist/lib/services/client-metrics/ttl-list.js.map +1 -1
- package/dist/lib/services/client-metrics/ttl-list.test.js +14 -10
- package/dist/lib/services/client-metrics/ttl-list.test.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.d.ts +15 -14
- package/dist/lib/services/feature-toggle-service.js +142 -135
- package/dist/lib/services/feature-toggle-service.js.map +1 -1
- package/dist/lib/services/project-health-service.d.ts +2 -2
- 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/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/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/stores/event-store.d.ts +4 -3
- 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/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/project/features.e2e.test.js +6 -8
- package/dist/test/e2e/api/admin/project/features.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/services/feature-toggle-service-v2.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/project-health-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/services/project-service.e2e.test.js.map +1 -1
- package/dist/test/e2e/stores/event-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 +9 -10
- 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
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Response } from 'node-fetch';
|
|
2
2
|
import { IUnleashConfig } from '../types/option';
|
|
3
3
|
import { Logger } from '../logger';
|
|
4
|
-
import { IAddonDefinition
|
|
4
|
+
import { IAddonDefinition } from '../types/model';
|
|
5
|
+
import { IEvent } from '../types/events';
|
|
5
6
|
export default abstract class Addon {
|
|
6
7
|
logger: Logger;
|
|
7
8
|
_name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"addon.js","sourceRoot":"","sources":["../../../src/lib/addons/addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAA6C;AAC7C,iDAAuD;
|
|
1
|
+
{"version":3,"file":"addon.js","sourceRoot":"","sources":["../../../src/lib/addons/addon.ts"],"names":[],"mappings":";;;;;AAAA,4DAA6C;AAC7C,iDAAuD;AAMvD,MAA8B,KAAK;IAO/B,YACI,UAA4B,EAC5B,EAAE,SAAS,EAAqC;QAEhD,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,SAAS,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACpD,MAAM,EAAE,KAAK,EAAE,GAAG,oCAAqB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC7D,IAAI,KAAK,EAAE;YACP,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,iCAAiC,UAAU,CAAC,IAAI,EAAE,EAClD,KAAK,CACR,CAAC;YACF,MAAM,KAAK,CAAC;SACf;QACD,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,IAAI,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;IAClC,CAAC;IAED,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,UAAU;QACV,OAAO,IAAI,CAAC,WAAW,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,UAAU,CACZ,GAAW,EACX,OAAO,GAAG,EAAE,EACZ,UAAkB,CAAC,EACnB,UAAkB,GAAG;QAErB,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;QACvD,IAAI,GAAG,CAAC;QACR,IAAI;YACA,GAAG,GAAG,MAAM,IAAA,oBAAK,EAAC,GAAG,EAAE,OAAO,CAAC,CAAC;SACnC;QAAC,OAAO,KAAK,EAAE;YACZ,GAAG,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC;SACpC;QACD,IAAI,GAAG,CAAC,EAAE,EAAE;YACR,OAAO,GAAG,CAAC;SACd;QACD,IAAI,OAAO,GAAG,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;YAChD,UAAU,CACN,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,CAAC,CAAC,EAC7D,OAAO,CACV,CAAC;SACL;QACD,OAAO,GAAG,CAAC;IACf,CAAC;CAIJ;AA3DD,wBA2DC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Addon from './addon';
|
|
2
|
-
import { IAddonConfig
|
|
2
|
+
import { IAddonConfig } from '../types/model';
|
|
3
|
+
import { IEvent } from '../types/events';
|
|
3
4
|
export default class DatadogAddon extends Addon {
|
|
4
5
|
private msgFormatter;
|
|
5
6
|
constructor(config: IAddonConfig);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datadog.js","sourceRoot":"","sources":["../../../src/lib/addons/datadog.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAE5B,8EAA8C;AAE9C,6EAIsC;
|
|
1
|
+
{"version":3,"file":"datadog.js","sourceRoot":"","sources":["../../../src/lib/addons/datadog.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAE5B,8EAA8C;AAE9C,6EAIsC;AAGtC,MAAqB,YAAa,SAAQ,eAAK;IAG3C,YAAY,MAAoB;QAC5B,KAAK,CAAC,4BAAU,EAAE,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,oDAAuB,CAC3C,MAAM,CAAC,UAAU,EACjB,sCAAS,CAAC,EAAE,CACf,CAAC;IACN,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,UAAe;QAC5C,MAAM,EAAE,GAAG,GAAG,yCAAyC,EAAE,MAAM,EAAE,GAC7D,UAAU,CAAC;QAEf,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE7C,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAClC,MAAM,IAAI,GACN,SAAS,IAAI,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG;YACT,IAAI,EAAE,UAAU,IAAI,UAAU;YAC9B,KAAK,EAAE,6BAA6B;YACpC,IAAI;SACP,CAAC;QAEF,MAAM,WAAW,GAAG;YAChB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACL,cAAc,EAAE,kBAAkB;gBAClC,YAAY,EAAE,MAAM;aACvB;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC7B,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,iBAAiB,KAAK,CAAC,IAAI,kBAAkB,GAAG,CAAC,MAAM,EAAE,CAC5D,CAAC;IACN,CAAC;CACJ;AAxCD,+BAwCC"}
|
|
@@ -32,6 +32,7 @@ test('Should call datadog webhook', async () => {
|
|
|
32
32
|
createdAt: new Date(),
|
|
33
33
|
type: events_1.FEATURE_CREATED,
|
|
34
34
|
createdBy: 'some@user.com',
|
|
35
|
+
featureName: 'some-toggle',
|
|
35
36
|
data: {
|
|
36
37
|
name: 'some-toggle',
|
|
37
38
|
enabled: false,
|
|
@@ -56,6 +57,7 @@ test('Should call datadog webhook for archived toggle', async () => {
|
|
|
56
57
|
createdAt: new Date(),
|
|
57
58
|
type: events_1.FEATURE_ARCHIVED,
|
|
58
59
|
createdBy: 'some@user.com',
|
|
60
|
+
featureName: 'some-toggle',
|
|
59
61
|
data: {
|
|
60
62
|
name: 'some-toggle',
|
|
61
63
|
},
|
|
@@ -80,6 +82,7 @@ test(`Should call datadog webhook for toggled environment`, async () => {
|
|
|
80
82
|
createdBy: 'some@user.com',
|
|
81
83
|
environment: 'development',
|
|
82
84
|
project: 'default',
|
|
85
|
+
featureName: 'some-toggle',
|
|
83
86
|
data: {
|
|
84
87
|
name: 'some-toggle',
|
|
85
88
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datadog.test.js","sourceRoot":"","sources":["../../../src/lib/addons/datadog.test.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"datadog.test.js","sourceRoot":"","sources":["../../../src/lib/addons/datadog.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,10 +20,10 @@ class FeatureEventFormatterMd {
|
|
|
20
20
|
}
|
|
21
21
|
generateFeatureLink(event) {
|
|
22
22
|
if (this.linkStyle === LinkStyle.SLACK) {
|
|
23
|
-
return `<${this.featureLink(event)}|${event.
|
|
23
|
+
return `<${this.featureLink(event)}|${event.featureName}>`;
|
|
24
24
|
}
|
|
25
25
|
else {
|
|
26
|
-
return `[${event.
|
|
26
|
+
return `[${event.featureName}](${this.featureLink(event)})`;
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
29
|
generateStaleText(event) {
|
|
@@ -42,20 +42,19 @@ class FeatureEventFormatterMd {
|
|
|
42
42
|
return `${createdBy} *${toggleStatus}* ${feature} in *${environment}* environment in project *${project}*`;
|
|
43
43
|
}
|
|
44
44
|
generateStrategyChangeText(event) {
|
|
45
|
-
const { createdBy, environment, project, data, type } = event;
|
|
45
|
+
const { createdBy, environment, project, data, preData, type } = event;
|
|
46
46
|
const feature = this.generateFeatureLink(event);
|
|
47
|
-
let
|
|
47
|
+
let strategyText = '';
|
|
48
48
|
if (events_1.FEATURE_STRATEGY_UPDATE === type) {
|
|
49
|
-
|
|
49
|
+
strategyText = `by updating strategy ${data?.name} in *${environment}*`;
|
|
50
50
|
}
|
|
51
51
|
else if (events_1.FEATURE_STRATEGY_ADD === type) {
|
|
52
|
-
|
|
52
|
+
strategyText = `by adding strategy ${data?.name} in *${environment}*`;
|
|
53
53
|
}
|
|
54
|
-
else {
|
|
55
|
-
|
|
54
|
+
else if (events_1.FEATURE_STRATEGY_REMOVE === type) {
|
|
55
|
+
strategyText = `by removing strategy ${preData?.name} in *${environment}*`;
|
|
56
56
|
}
|
|
57
|
-
|
|
58
|
-
return `${createdBy} updated *${feature}* with ${strategyText} in project *${project}*`;
|
|
57
|
+
return `${createdBy} updated *${feature}* in project *${project}* ${strategyText}`;
|
|
59
58
|
}
|
|
60
59
|
generateMetadataText(event) {
|
|
61
60
|
const { createdBy, project } = event;
|
|
@@ -63,15 +62,15 @@ class FeatureEventFormatterMd {
|
|
|
63
62
|
return `${createdBy} updated the metadata for ${feature} in project *${project}*`;
|
|
64
63
|
}
|
|
65
64
|
generateProjectChangeText(event) {
|
|
66
|
-
const { createdBy, project,
|
|
67
|
-
return `${createdBy} moved ${
|
|
65
|
+
const { createdBy, project, featureName } = event;
|
|
66
|
+
return `${createdBy} moved ${featureName} to ${project}`;
|
|
68
67
|
}
|
|
69
68
|
featureLink(event) {
|
|
70
|
-
const { type, project = '',
|
|
69
|
+
const { type, project = '', featureName } = event;
|
|
71
70
|
if (type === events_1.FEATURE_ARCHIVED) {
|
|
72
71
|
return `${this.unleashUrl}/archive`;
|
|
73
72
|
}
|
|
74
|
-
return `${this.unleashUrl}/projects/${project}/${
|
|
73
|
+
return `${this.unleashUrl}/projects/${project}/${featureName}`;
|
|
75
74
|
}
|
|
76
75
|
getAction(type) {
|
|
77
76
|
switch (type) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feature-event-formatter-md.js","sourceRoot":"","sources":["../../../src/lib/addons/feature-event-formatter-md.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"feature-event-formatter-md.js","sourceRoot":"","sources":["../../../src/lib/addons/feature-event-formatter-md.ts"],"names":[],"mappings":";;;AAAA,4CAeyB;AAOzB,IAAY,SAGX;AAHD,WAAY,SAAS;IACjB,2CAAK,CAAA;IACL,qCAAE,CAAA;AACN,CAAC,EAHW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAGpB;AAED,MAAa,uBAAuB;IAKhC,YAAY,UAAkB,EAAE,YAAuB,SAAS,CAAC,EAAE;QAC/D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IAED,oBAAoB,CAAC,KAAa;QAC9B,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAClC,MAAM,MAAM,GAAG,IAAI,KAAK,yBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,IAAI,SAAS,SAAS,MAAM,oBAAoB,OAAO,GAAG,CAAC;IACtE,CAAC;IAED,mBAAmB,CAAC,KAAa;QAC7B,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,KAAK,EAAE;YACpC,OAAO,IAAI,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,WAAW,GAAG,CAAC;SAC9D;aAAM;YACH,OAAO,IAAI,KAAK,CAAC,WAAW,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC;SAC/D;IACL,CAAC;IAED,iBAAiB,CAAC,KAAa;QAC3B,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,KAAK,yBAAgB,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAEhD,IAAI,OAAO,EAAE;YACT,OAAO,GAAG,SAAS,WAAW,OAAO,gFAAgF,CAAC;SACzH;QACD,OAAO,GAAG,SAAS,kCAAkC,OAAO,IAAI,CAAC;IACrE,CAAC;IAED,6BAA6B,CAAC,KAAa;QACvC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QACxD,MAAM,YAAY,GACd,IAAI,KAAK,oCAA2B,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC;QAClE,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,GAAG,SAAS,KAAK,YAAY,KAAK,OAAO,QAAQ,WAAW,6BAA6B,OAAO,GAAG,CAAC;IAC/G,CAAC;IAED,0BAA0B,CAAC,KAAa;QACpC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACvE,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,YAAY,GAAW,EAAE,CAAC;QAC9B,IAAI,gCAAuB,KAAK,IAAI,EAAE;YAClC,YAAY,GAAG,wBAAwB,IAAI,EAAE,IAAI,QAAQ,WAAW,GAAG,CAAC;SAC3E;aAAM,IAAI,6BAAoB,KAAK,IAAI,EAAE;YACtC,YAAY,GAAG,sBAAsB,IAAI,EAAE,IAAI,QAAQ,WAAW,GAAG,CAAC;SACzE;aAAM,IAAI,gCAAuB,KAAK,IAAI,EAAE;YACzC,YAAY,GAAG,wBAAwB,OAAO,EAAE,IAAI,QAAQ,WAAW,GAAG,CAAC;SAC9E;QACD,OAAO,GAAG,SAAS,aAAa,OAAO,iBAAiB,OAAO,KAAK,YAAY,EAAE,CAAC;IACvF,CAAC;IAED,oBAAoB,CAAC,KAAa;QAC9B,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QACrC,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,GAAG,SAAS,6BAA6B,OAAO,gBAAgB,OAAO,GAAG,CAAC;IACtF,CAAC;IAED,yBAAyB,CAAC,KAAa;QACnC,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;QAClD,OAAO,GAAG,SAAS,UAAU,WAAW,OAAO,OAAO,EAAE,CAAC;IAC7D,CAAC;IAED,WAAW,CAAC,KAAa;QACrB,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,EAAE,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;QAClD,IAAI,IAAI,KAAK,yBAAgB,EAAE;YAC3B,OAAO,GAAG,IAAI,CAAC,UAAU,UAAU,CAAC;SACvC;QACD,OAAO,GAAG,IAAI,CAAC,UAAU,aAAa,OAAO,IAAI,WAAW,EAAE,CAAC;IACnE,CAAC;IAED,SAAS,CAAC,IAAY;QAClB,QAAQ,IAAI,EAAE;YACV,KAAK,wBAAe;gBAChB,OAAO,SAAS,CAAC;YACrB,KAAK,wBAAe;gBAChB,OAAO,SAAS,CAAC;YACrB;gBACI,OAAO,IAAI,CAAC;SACnB;IACL,CAAC;IAED,WAAW,CAAC,KAAa;QACrB,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC;QAChD,OAAO,GAAG,SAAS,IAAI,MAAM,mBAAmB,OAAO,gBAAgB,OAAO,GAAG,CAAC;IACtF,CAAC;IAED,MAAM,CAAC,KAAa;QAChB,QAAQ,KAAK,CAAC,IAAI,EAAE;YAChB,KAAK,yBAAgB,CAAC;YACtB,KAAK,wBAAe;gBAChB,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC5C,KAAK,yBAAgB,CAAC;YACtB,KAAK,0BAAiB;gBAClB,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzC,KAAK,qCAA4B,CAAC;YAClC,KAAK,oCAA2B;gBAC5B,OAAO,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;YACrD,KAAK,6BAAoB,CAAC;YAC1B,KAAK,gCAAuB,CAAC;YAC7B,KAAK,gCAAuB;gBACxB,OAAO,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC;YAClD,KAAK,iCAAwB;gBACzB,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;YAC5C,KAAK,+BAAsB;gBACvB,OAAO,IAAI,CAAC,yBAAyB,CAAC,KAAK,CAAC,CAAC;YACjD;gBACI,OAAO,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;SACtC;IACL,CAAC;CACJ;AAtHD,0DAsHC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Addon from './addon';
|
|
2
|
-
import { IAddonConfig
|
|
2
|
+
import { IAddonConfig } from '../types/model';
|
|
3
|
+
import { IEvent } from '../types/events';
|
|
3
4
|
export default class SlackAddon extends Addon {
|
|
4
5
|
private msgFormatter;
|
|
5
6
|
constructor(args: IAddonConfig);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slack.js","sourceRoot":"","sources":["../../../src/lib/addons/slack.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAE5B,0EAAiD;AAGjD,6EAIsC;
|
|
1
|
+
{"version":3,"file":"slack.js","sourceRoot":"","sources":["../../../src/lib/addons/slack.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAE5B,0EAAiD;AAGjD,6EAIsC;AAGtC,MAAqB,UAAW,SAAQ,eAAK;IAGzC,YAAY,IAAkB;QAC1B,KAAK,CAAC,0BAAe,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,oDAAuB,CAC3C,IAAI,CAAC,UAAU,EACf,sCAAS,CAAC,KAAK,CAClB,CAAC;IACN,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,UAAe;QAC5C,MAAM,EACF,GAAG,EACH,cAAc,EACd,QAAQ,GAAG,SAAS,EACpB,SAAS,GAAG,WAAW,GAC1B,GAAG,UAAU,CAAC;QAEf,MAAM,aAAa,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAEpD,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACtC;QAED,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEzD,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAG;gBACT,QAAQ;gBACR,UAAU,EAAE,SAAS;gBACrB,IAAI;gBACJ,OAAO,EAAE,IAAI,OAAO,EAAE;gBACtB,WAAW,EAAE;oBACT;wBACI,OAAO,EAAE;4BACL;gCACI,IAAI,EAAE,eAAe;gCACrB,IAAI,EAAE,iBAAiB;gCACvB,IAAI,EAAE,QAAQ;gCACd,KAAK,EAAE,eAAe;gCACtB,KAAK,EAAE,SAAS;gCAChB,GAAG,EAAE,WAAW;6BACnB;yBACJ;qBACJ;iBACJ;aACJ,CAAC;YAEF,MAAM,WAAW,GAAG;gBAChB,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC7B,CAAC;YAEF,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,KAAK,CAAC,IAAI,kBAAkB,KAAK,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED,iBAAiB,CAAC,EAAE,IAAI,EAAwB;QAC5C,IAAI,IAAI,EAAE;YACN,OAAO,IAAI;iBACN,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,OAAO,CAAC;iBACrC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;SAC5B;QACD,OAAO,EAAE,CAAC;IACd,CAAC;CACJ;AAzED,6BAyEC;AAED,MAAM,CAAC,OAAO,GAAG,UAAU,CAAC"}
|
|
@@ -33,6 +33,7 @@ test('Should call slack webhook', async () => {
|
|
|
33
33
|
type: events_1.FEATURE_CREATED,
|
|
34
34
|
createdBy: 'some@user.com',
|
|
35
35
|
project: 'default',
|
|
36
|
+
featureName: 'some-toggle',
|
|
36
37
|
data: {
|
|
37
38
|
name: 'some-toggle',
|
|
38
39
|
enabled: false,
|
|
@@ -57,6 +58,7 @@ test('Should call slack webhook for archived toggle', async () => {
|
|
|
57
58
|
id: 2,
|
|
58
59
|
createdAt: new Date(),
|
|
59
60
|
type: events_1.FEATURE_ARCHIVED,
|
|
61
|
+
featureName: 'some-toggle',
|
|
60
62
|
createdBy: 'some@user.com',
|
|
61
63
|
data: {
|
|
62
64
|
name: 'some-toggle',
|
|
@@ -82,6 +84,7 @@ test(`Should call webhook for toggled environment`, async () => {
|
|
|
82
84
|
createdBy: 'some@user.com',
|
|
83
85
|
environment: 'development',
|
|
84
86
|
project: 'default',
|
|
87
|
+
featureName: 'some-toggle',
|
|
85
88
|
data: {
|
|
86
89
|
name: 'some-toggle',
|
|
87
90
|
},
|
|
@@ -105,6 +108,7 @@ test('Should use default channel', async () => {
|
|
|
105
108
|
createdAt: new Date(),
|
|
106
109
|
type: events_1.FEATURE_CREATED,
|
|
107
110
|
createdBy: 'some@user.com',
|
|
111
|
+
featureName: 'some-toggle',
|
|
108
112
|
data: {
|
|
109
113
|
name: 'some-toggle',
|
|
110
114
|
enabled: false,
|
|
@@ -129,6 +133,7 @@ test('Should override default channel with data from tag', async () => {
|
|
|
129
133
|
createdAt: new Date(),
|
|
130
134
|
type: events_1.FEATURE_CREATED,
|
|
131
135
|
createdBy: 'some@user.com',
|
|
136
|
+
featureName: 'some-toggle',
|
|
132
137
|
data: {
|
|
133
138
|
name: 'some-toggle',
|
|
134
139
|
enabled: false,
|
|
@@ -159,6 +164,7 @@ test('Should post to all channels in tags', async () => {
|
|
|
159
164
|
createdAt: new Date(),
|
|
160
165
|
type: events_1.FEATURE_CREATED,
|
|
161
166
|
createdBy: 'some@user.com',
|
|
167
|
+
featureName: 'some-toggle',
|
|
162
168
|
data: {
|
|
163
169
|
name: 'some-toggle',
|
|
164
170
|
enabled: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slack.test.js","sourceRoot":"","sources":["../../../src/lib/addons/slack.test.ts"],"names":[],"mappings":";;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"slack.test.js","sourceRoot":"","sources":["../../../src/lib/addons/slack.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Addon from './addon';
|
|
2
|
-
import { IAddonConfig
|
|
2
|
+
import { IAddonConfig } from '../types/model';
|
|
3
|
+
import { IEvent } from '../types/events';
|
|
3
4
|
export default class TeamsAddon extends Addon {
|
|
4
5
|
private msgFormatter;
|
|
5
6
|
constructor(args: IAddonConfig);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teams.js","sourceRoot":"","sources":["../../../src/lib/addons/teams.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAE5B,0EAAiD;AAEjD,6EAGsC;
|
|
1
|
+
{"version":3,"file":"teams.js","sourceRoot":"","sources":["../../../src/lib/addons/teams.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAE5B,0EAAiD;AAEjD,6EAGsC;AAGtC,MAAqB,UAAW,SAAQ,eAAK;IAGzC,YAAY,IAAkB;QAC1B,KAAK,CAAC,0BAAe,EAAE,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,oDAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACrE,CAAC;IAED,6EAA6E;IAC7E,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,UAAe;QAC5C,MAAM,EAAE,GAAG,EAAE,GAAG,UAAU,CAAC;QAC3B,MAAM,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;QAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7C,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAEzD,MAAM,IAAI,GAAG;YACT,UAAU,EAAE,QAAQ;YACpB,OAAO,EAAE,SAAS;YAClB,QAAQ,EAAE;gBACN;oBACI,aAAa,EAAE,IAAI;oBACnB,gBAAgB,EAAE,6BAA6B;oBAC/C,KAAK,EAAE;wBACH;4BACI,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,SAAS;yBACnB;wBACD;4BACI,IAAI,EAAE,QAAQ;4BACd,KAAK,EAAE,KAAK,CAAC,IAAI;yBACpB;qBACJ;iBACJ;aACJ;YACD,eAAe,EAAE;gBACb;oBACI,OAAO,EAAE,SAAS;oBAClB,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE;wBACL;4BACI,EAAE,EAAE,SAAS;4BACb,GAAG,EAAE,WAAW;yBACnB;qBACJ;iBACJ;aACJ;SACJ,CAAC;QAEF,MAAM,WAAW,GAAG;YAChB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC7B,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,iBAAiB,KAAK,CAAC,IAAI,kBAAkB,GAAG,CAAC,MAAM,EAAE,CAC5D,CAAC;IACN,CAAC;CACJ;AA1DD,6BA0DC"}
|
|
@@ -32,6 +32,7 @@ test('Should call teams webhook', async () => {
|
|
|
32
32
|
createdAt: new Date(),
|
|
33
33
|
type: events_1.FEATURE_CREATED,
|
|
34
34
|
createdBy: 'some@user.com',
|
|
35
|
+
featureName: 'some-toggle',
|
|
35
36
|
data: {
|
|
36
37
|
name: 'some-toggle',
|
|
37
38
|
enabled: false,
|
|
@@ -56,6 +57,7 @@ test('Should call teams webhook for archived toggle', async () => {
|
|
|
56
57
|
createdAt: new Date(),
|
|
57
58
|
type: events_1.FEATURE_ARCHIVED,
|
|
58
59
|
createdBy: 'some@user.com',
|
|
60
|
+
featureName: 'some-toggle',
|
|
59
61
|
data: {
|
|
60
62
|
name: 'some-toggle',
|
|
61
63
|
},
|
|
@@ -80,6 +82,7 @@ test(`Should call teams webhook for toggled environment`, async () => {
|
|
|
80
82
|
createdBy: 'some@user.com',
|
|
81
83
|
environment: 'development',
|
|
82
84
|
project: 'default',
|
|
85
|
+
featureName: 'some-toggle',
|
|
83
86
|
data: {
|
|
84
87
|
name: 'some-toggle',
|
|
85
88
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teams.test.js","sourceRoot":"","sources":["../../../src/lib/addons/teams.test.ts"],"names":[],"mappings":";;;;;AAEA,
|
|
1
|
+
{"version":3,"file":"teams.test.js","sourceRoot":"","sources":["../../../src/lib/addons/teams.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,15 @@
|
|
|
1
1
|
import Addon from './addon';
|
|
2
2
|
import { LogProvider } from '../logger';
|
|
3
|
-
import { IEvent } from '../types/
|
|
3
|
+
import { IEvent } from '../types/events';
|
|
4
|
+
interface IParameters {
|
|
5
|
+
url: string;
|
|
6
|
+
bodyTemplate?: string;
|
|
7
|
+
contentType?: string;
|
|
8
|
+
}
|
|
4
9
|
export default class Webhook extends Addon {
|
|
5
10
|
constructor(args: {
|
|
6
11
|
getLogger: LogProvider;
|
|
7
12
|
});
|
|
8
|
-
handleEvent(event: IEvent, parameters:
|
|
13
|
+
handleEvent(event: IEvent, parameters: IParameters): Promise<void>;
|
|
9
14
|
}
|
|
15
|
+
export {};
|
|
@@ -10,7 +10,6 @@ class Webhook extends addon_1.default {
|
|
|
10
10
|
constructor(args) {
|
|
11
11
|
super(webhook_definition_1.default, args);
|
|
12
12
|
}
|
|
13
|
-
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
|
14
13
|
async handleEvent(event, parameters) {
|
|
15
14
|
const { url, bodyTemplate, contentType } = parameters;
|
|
16
15
|
const context = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../../src/lib/addons/webhook.ts"],"names":[],"mappings":";;;;;AAAA,wDAAgC;AAChC,oDAA4B;AAC5B,8EAA8C;
|
|
1
|
+
{"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../../src/lib/addons/webhook.ts"],"names":[],"mappings":";;;;;AAAA,wDAAgC;AAChC,oDAA4B;AAC5B,8EAA8C;AAU9C,MAAqB,OAAQ,SAAQ,eAAK;IACtC,YAAY,IAAgC;QACxC,KAAK,CAAC,4BAAU,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,UAAuB;QACpD,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;QACtD,MAAM,OAAO,GAAG;YACZ,KAAK;SACR,CAAC;QAEF,IAAI,IAAI,CAAC;QAET,IAAI,OAAO,YAAY,KAAK,QAAQ,IAAI,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE;YAC7D,IAAI,GAAG,kBAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;SACjD;aAAM;YACH,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAChC;QAED,MAAM,WAAW,GAAG;YAChB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,WAAW,IAAI,kBAAkB,EAAE;YAC9D,IAAI;SACP,CAAC;QACF,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAEpD,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,kBAAkB,KAAK,CAAC,IAAI,mBAAmB,GAAG,CAAC,MAAM,EAAE,CAC9D,CAAC;IACN,CAAC;CACJ;AA9BD,0BA8BC"}
|
|
@@ -29,6 +29,7 @@ test('Should handle event without "bodyTemplate"', () => {
|
|
|
29
29
|
createdAt: new Date(),
|
|
30
30
|
type: events_1.FEATURE_CREATED,
|
|
31
31
|
createdBy: 'some@user.com',
|
|
32
|
+
featureName: 'some-toggle',
|
|
32
33
|
data: {
|
|
33
34
|
name: 'some-toggle',
|
|
34
35
|
enabled: false,
|
|
@@ -50,6 +51,7 @@ test('Should format event with "bodyTemplate"', () => {
|
|
|
50
51
|
createdAt: new Date(),
|
|
51
52
|
type: events_1.FEATURE_CREATED,
|
|
52
53
|
createdBy: 'some@user.com',
|
|
54
|
+
featureName: 'some-toggle',
|
|
53
55
|
data: {
|
|
54
56
|
name: 'some-toggle',
|
|
55
57
|
enabled: false,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webhook.test.js","sourceRoot":"","sources":["../../../src/lib/addons/webhook.test.ts"],"names":[],"mappings":";;;;;AAEA,
|
|
1
|
+
{"version":3,"file":"webhook.test.js","sourceRoot":"","sources":["../../../src/lib/addons/webhook.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -91,9 +91,13 @@ class ClientMetricsStoreV2 {
|
|
|
91
91
|
}
|
|
92
92
|
return prev;
|
|
93
93
|
}, {});
|
|
94
|
+
// Sort the rows to avoid deadlocks
|
|
95
|
+
const batchRow = Object.values(batch).sort((a, b) => a.feature_name.localeCompare(b.feature_name) ||
|
|
96
|
+
a.app_name.localeCompare(b.app_name) ||
|
|
97
|
+
a.environment.localeCompare(b.environment));
|
|
94
98
|
// Consider rewriting to SQL batch!
|
|
95
99
|
const insert = this.db(TABLE)
|
|
96
|
-
.insert(
|
|
100
|
+
.insert(batchRow)
|
|
97
101
|
.toQuery();
|
|
98
102
|
const query = `${insert.toString()} ON CONFLICT (feature_name, app_name, environment, timestamp) DO UPDATE SET "yes" = "client_metrics_env"."yes" + EXCLUDED.yes, "no" = "client_metrics_env"."no" + EXCLUDED.no`;
|
|
99
103
|
await this.db.raw(query);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-metrics-store-v2.js","sourceRoot":"","sources":["../../../src/lib/db/client-metrics-store-v2.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client-metrics-store-v2.js","sourceRoot":"","sources":["../../../src/lib/db/client-metrics-store-v2.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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"}
|
package/dist/lib/metrics.js
CHANGED
|
@@ -105,17 +105,26 @@ class MetricsMonitor {
|
|
|
105
105
|
eventBus.on(events.DB_TIME, ({ store, action, time }) => {
|
|
106
106
|
dbDuration.labels(store, action).observe(time);
|
|
107
107
|
});
|
|
108
|
-
eventStore.on(events_1.FEATURE_CREATED, ({
|
|
109
|
-
featureToggleUpdateTotal.labels(
|
|
108
|
+
eventStore.on(events_1.FEATURE_CREATED, ({ featureName }) => {
|
|
109
|
+
featureToggleUpdateTotal.labels(featureName).inc();
|
|
110
110
|
});
|
|
111
|
-
eventStore.on(events_1.FEATURE_UPDATED, ({
|
|
112
|
-
featureToggleUpdateTotal.labels(
|
|
111
|
+
eventStore.on(events_1.FEATURE_UPDATED, ({ featureName }) => {
|
|
112
|
+
featureToggleUpdateTotal.labels(featureName).inc();
|
|
113
113
|
});
|
|
114
|
-
eventStore.on(events_1.
|
|
115
|
-
featureToggleUpdateTotal.labels(
|
|
114
|
+
eventStore.on(events_1.FEATURE_STRATEGY_ADD, ({ featureName }) => {
|
|
115
|
+
featureToggleUpdateTotal.labels(featureName).inc();
|
|
116
116
|
});
|
|
117
|
-
eventStore.on(events_1.
|
|
118
|
-
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();
|
|
119
128
|
});
|
|
120
129
|
clientMetricsStore.on('metrics', (m) => {
|
|
121
130
|
// eslint-disable-next-line no-restricted-syntax
|