unleash-server 6.7.1 → 6.7.2
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/teams.d.ts.map +1 -1
- package/dist/lib/addons/teams.js +21 -0
- package/dist/lib/addons/teams.js.map +1 -1
- package/dist/lib/db/setting-store.d.ts +0 -1
- package/dist/lib/db/setting-store.d.ts.map +1 -1
- package/dist/lib/db/setting-store.js +5 -10
- package/dist/lib/db/setting-store.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.d.ts.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.js +5 -9
- package/dist/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/delta-cache.d.ts.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/delta-cache.js +9 -6
- package/dist/lib/features/client-feature-toggles/delta/delta-cache.js.map +1 -1
- package/dist/lib/features/client-feature-toggles/delta/delta-cache.test.js +64 -4
- package/dist/lib/features/client-feature-toggles/delta/delta-cache.test.js.map +1 -1
- package/dist/lib/features/frontend-api/create-context.d.ts +2 -2
- package/dist/lib/features/frontend-api/create-context.d.ts.map +1 -1
- package/dist/lib/features/frontend-api/create-context.js +7 -6
- package/dist/lib/features/frontend-api/create-context.js.map +1 -1
- package/dist/lib/features/frontend-api/frontend-api-controller.d.ts.map +1 -1
- package/dist/lib/features/frontend-api/frontend-api-controller.js +18 -3
- package/dist/lib/features/frontend-api/frontend-api-controller.js.map +1 -1
- package/dist/lib/features/frontend-api/frontend-api.e2e.test.js +96 -6
- package/dist/lib/features/frontend-api/frontend-api.e2e.test.js.map +1 -1
- package/dist/lib/features/metrics/client-metrics/metrics-service-v2.js +1 -1
- package/dist/lib/features/metrics/client-metrics/metrics-service-v2.js.map +1 -1
- package/dist/lib/features/metrics/instance/instance-service.d.ts +2 -1
- package/dist/lib/features/metrics/instance/instance-service.d.ts.map +1 -1
- package/dist/lib/features/metrics/instance/instance-service.js +4 -1
- package/dist/lib/features/metrics/instance/instance-service.js.map +1 -1
- package/dist/lib/metric-events.d.ts +2 -1
- package/dist/lib/metric-events.d.ts.map +1 -1
- package/dist/lib/metric-events.js +3 -1
- package/dist/lib/metric-events.js.map +1 -1
- package/dist/lib/metrics.d.ts.map +1 -1
- package/dist/lib/metrics.js +8 -0
- package/dist/lib/metrics.js.map +1 -1
- package/dist/lib/openapi/spec/client-features-delta-schema.d.ts +4 -1
- package/dist/lib/openapi/spec/client-features-delta-schema.d.ts.map +1 -1
- package/dist/lib/openapi/spec/client-features-delta-schema.js +2 -1
- package/dist/lib/openapi/spec/client-features-delta-schema.js.map +1 -1
- package/dist/lib/openapi/spec/client-features-delta-schema.test.js +1 -0
- package/dist/lib/openapi/spec/client-features-delta-schema.test.js.map +1 -1
- package/dist/lib/openapi/spec/frontend-api-features-post-schema.d.ts +62 -0
- package/dist/lib/openapi/spec/frontend-api-features-post-schema.d.ts.map +1 -0
- package/dist/lib/openapi/spec/frontend-api-features-post-schema.js +20 -0
- package/dist/lib/openapi/spec/frontend-api-features-post-schema.js.map +1 -0
- package/dist/lib/openapi/spec/index.d.ts +1 -0
- package/dist/lib/openapi/spec/index.d.ts.map +1 -1
- package/dist/lib/openapi/spec/index.js +1 -0
- package/dist/lib/openapi/spec/index.js.map +1 -1
- package/dist/lib/types/experimental.d.ts +1 -1
- package/dist/lib/types/experimental.d.ts.map +1 -1
- package/dist/lib/types/experimental.js +2 -0
- package/dist/lib/types/experimental.js.map +1 -1
- package/dist/migrations/20250210130408-add-edge-observability-tables.d.ts +3 -0
- package/dist/migrations/20250210130408-add-edge-observability-tables.d.ts.map +1 -0
- package/dist/migrations/20250210130408-add-edge-observability-tables.js +33 -0
- package/dist/migrations/20250210130408-add-edge-observability-tables.js.map +1 -0
- package/dist/migrations/20250211114205-scim-email-hash-backfill.d.ts +3 -0
- package/dist/migrations/20250211114205-scim-email-hash-backfill.d.ts.map +1 -0
- package/dist/migrations/20250211114205-scim-email-hash-backfill.js +12 -0
- package/dist/migrations/20250211114205-scim-email-hash-backfill.js.map +1 -0
- package/dist/migrations/20250212130610-add-stat-edge-traffic-table.d.ts +3 -0
- package/dist/migrations/20250212130610-add-stat-edge-traffic-table.d.ts.map +1 -0
- package/dist/migrations/20250212130610-add-stat-edge-traffic-table.js +17 -0
- package/dist/migrations/20250212130610-add-stat-edge-traffic-table.js.map +1 -0
- package/dist/migrations/20250214104741-add-status-code-to-edge-traffic-table.d.ts +3 -0
- package/dist/migrations/20250214104741-add-status-code-to-edge-traffic-table.d.ts.map +1 -0
- package/dist/migrations/20250214104741-add-status-code-to-edge-traffic-table.js +19 -0
- package/dist/migrations/20250214104741-add-status-code-to-edge-traffic-table.js.map +1 -0
- package/dist/server-dev.js +3 -1
- package/dist/server-dev.js.map +1 -1
- package/frontend/build/index.html +1 -1
- package/frontend/build/static/{AdvancedPlayground-5iT_-NlI.js → AdvancedPlayground-PICmvsYg.js} +1 -1
- package/frontend/build/static/{CreateProject-D5pkthd1.js → CreateProject-C1zXRV2P.js} +1 -1
- package/frontend/build/static/{FeatureMetricsChart-DLT45z8T.js → FeatureMetricsChart-7O1s2sFH.js} +2 -2
- package/frontend/build/static/FeatureStaleDialog-BRYjEUz_.js +7 -0
- package/frontend/build/static/FeatureViewLazyExport-Cga0FGhH.js +10 -0
- package/frontend/build/static/{FlagMetricsChart-CeROm482.js → FlagMetricsChart-gIHIlJzM.js} +2 -2
- package/frontend/build/static/{LazyAdminExport-BstJPVno.js → LazyAdminExport-BkEC9v7b.js} +14 -14
- package/frontend/build/static/{LazyProjectExport-DyYZkU7v.js → LazyProjectExport-CvAgqL_c.js} +13 -13
- package/frontend/build/static/{LineChartComponent-Dyjbr3M0.js → LineChartComponent--KDMj5E1.js} +1 -1
- package/frontend/build/static/{MarkCompletedDialogue-Dc68NB7S.js → MarkCompletedDialogue-BOarEIaB.js} +1 -1
- package/frontend/build/static/{NetworkOverview-DqKeHY3I.js → NetworkOverview-B7o7Gjnu.js} +1 -1
- package/frontend/build/static/{NetworkTraffic-DDsHqcNV.js → NetworkTraffic-DsXNZMB1.js} +1 -1
- package/frontend/build/static/NetworkTrafficUsage-DgDPw5Qu.js +1 -0
- package/frontend/build/static/{ReactJSONEditor-BUkblkPE.js → ReactJSONEditor-BA81pmnL.js} +1 -1
- package/frontend/build/static/RoleCell-BrkaJ8Fz.js +4 -0
- package/frontend/build/static/{StrategyItemContainer-CozIhxVL.js → StrategyItemContainer-CofXrxUp.js} +1 -1
- package/frontend/build/static/{aggregateFeatureMetrics-JWh8qqTH.js → aggregateFeatureMetrics-BXtdQ3eP.js} +1 -1
- package/frontend/build/static/{formatTickValue-C_9Wh9bQ.js → formatTickValue-DAgX8PjI.js} +2 -2
- package/frontend/build/static/{index-CTa3nuf3.js → index-BjBEy3kr.js} +104 -104
- package/frontend/build/static/{index-B2UpZcio.js → index-DXKyCp8F.js} +1 -1
- package/frontend/build/static/unknownify-BoiUPULd.js +1 -0
- package/frontend/build/static/useApiTokens-BkoIuyef.js +1 -0
- package/frontend/package.json +1 -1
- package/package.json +2 -2
- package/frontend/build/static/FeatureStaleDialog-CA9dHD9a.js +0 -7
- package/frontend/build/static/FeatureViewLazyExport-BKCALCD2.js +0 -10
- package/frontend/build/static/NetworkTrafficUsage-D2jvjyrD.js +0 -1
- package/frontend/build/static/RoleCell-Cra2Wkwl.js +0 -4
- package/frontend/build/static/unknownify-DyRzQREH.js +0 -1
- package/frontend/build/static/useApiTokens-B8fd_KK6.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teams.d.ts","sourceRoot":"","sources":["../../../src/lib/addons/teams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAG5B,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,aAAa,EAErB,MAAM,UAAU,CAAC;AAKlB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"teams.d.ts","sourceRoot":"","sources":["../../../src/lib/addons/teams.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAG5B,OAAO,EACH,KAAK,YAAY,EACjB,KAAK,aAAa,EAErB,MAAM,UAAU,CAAC;AAKlB,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAqB9C,UAAU,gBAAgB;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AACD,MAAM,CAAC,OAAO,OAAO,UAAW,SAAQ,KAAK;IACzC,OAAO,CAAC,YAAY,CAAwB;IAE5C,YAAY,EAAE,aAAa,CAAC;gBAEhB,IAAI,EAAE,YAAY;IA6BxB,WAAW,CACb,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,gBAAgB,EAC5B,aAAa,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC;CAqFnB"}
|
package/dist/lib/addons/teams.js
CHANGED
|
@@ -7,8 +7,29 @@ const addon_1 = __importDefault(require("./addon"));
|
|
|
7
7
|
const teams_definition_1 = __importDefault(require("./teams-definition"));
|
|
8
8
|
const types_1 = require("../types");
|
|
9
9
|
const feature_event_formatter_md_1 = require("./feature-event-formatter-md");
|
|
10
|
+
const events_1 = require("../types/events");
|
|
10
11
|
class TeamsAddon extends addon_1.default {
|
|
11
12
|
constructor(args) {
|
|
13
|
+
if (args.flagResolver.isEnabled('teamsIntegrationChangeRequests')) {
|
|
14
|
+
teams_definition_1.default.events = [
|
|
15
|
+
...teams_definition_1.default.events,
|
|
16
|
+
events_1.CHANGE_ADDED,
|
|
17
|
+
events_1.CHANGE_DISCARDED,
|
|
18
|
+
events_1.CHANGE_EDITED,
|
|
19
|
+
events_1.CHANGE_REQUEST_APPLIED,
|
|
20
|
+
events_1.CHANGE_REQUEST_APPROVAL_ADDED,
|
|
21
|
+
events_1.CHANGE_REQUEST_APPROVED,
|
|
22
|
+
events_1.CHANGE_REQUEST_CANCELLED,
|
|
23
|
+
events_1.CHANGE_REQUEST_CREATED,
|
|
24
|
+
events_1.CHANGE_REQUEST_DISCARDED,
|
|
25
|
+
events_1.CHANGE_REQUEST_REJECTED,
|
|
26
|
+
events_1.CHANGE_REQUEST_SENT_TO_REVIEW,
|
|
27
|
+
events_1.CHANGE_REQUEST_SCHEDULED,
|
|
28
|
+
events_1.CHANGE_REQUEST_SCHEDULED_APPLICATION_SUCCESS,
|
|
29
|
+
events_1.CHANGE_REQUEST_SCHEDULED_APPLICATION_FAILURE,
|
|
30
|
+
events_1.CHANGE_REQUEST_SCHEDULE_SUSPENDED,
|
|
31
|
+
];
|
|
32
|
+
}
|
|
12
33
|
super(teams_definition_1.default, args);
|
|
13
34
|
this.msgFormatter = new feature_event_formatter_md_1.FeatureEventFormatterMd({
|
|
14
35
|
unleashUrl: args.unleashUrl,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teams.js","sourceRoot":"","sources":["../../../src/lib/addons/teams.ts"],"names":[],"mappings":";;;;;AAAA,oDAA4B;AAE5B,0EAAiD;AACjD,oCAIkB;AAClB,6EAGsC;
|
|
1
|
+
{"version":3,"file":"teams.js","sourceRoot":"","sources":["../../../src/lib/addons/teams.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,7 +7,6 @@ export default class SettingStore implements ISettingStore {
|
|
|
7
7
|
constructor(db: Db, getLogger: LogProvider);
|
|
8
8
|
postgresVersion(): Promise<string>;
|
|
9
9
|
updateRow(name: string, content: any): Promise<void>;
|
|
10
|
-
insertNewRow(name: string, content: any): Promise<number[]>;
|
|
11
10
|
exists(name: string): Promise<boolean>;
|
|
12
11
|
get<T>(name: string): Promise<T | undefined>;
|
|
13
12
|
insert(name: string, content: any): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setting-store.d.ts","sourceRoot":"","sources":["../../../src/lib/db/setting-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,WAAW,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAI/B,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,aAAa;IACtD,OAAO,CAAC,EAAE,CAAK;IAEf,OAAO,CAAC,MAAM,CAAS;gBAEX,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW;IAKpC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAUlC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpD,
|
|
1
|
+
{"version":3,"file":"setting-store.d.ts","sourceRoot":"","sources":["../../../src/lib/db/setting-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAU,WAAW,EAAE,MAAM,WAAW,CAAC;AACrD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,MAAM,CAAC;AAI/B,MAAM,CAAC,OAAO,OAAO,YAAa,YAAW,aAAa;IACtD,OAAO,CAAC,EAAE,CAAK;IAEf,OAAO,CAAC,MAAM,CAAS;gBAEX,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,WAAW;IAKpC,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC;IAUlC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAStC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,SAAS,CAAC;IAc5C,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAOjD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAInC,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAIhC,OAAO,IAAI,IAAI;IAET,MAAM,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;CAIjC"}
|
|
@@ -23,9 +23,6 @@ class SettingStore {
|
|
|
23
23
|
content: JSON.stringify(content),
|
|
24
24
|
});
|
|
25
25
|
}
|
|
26
|
-
async insertNewRow(name, content) {
|
|
27
|
-
return this.db(TABLE).insert({ name, content });
|
|
28
|
-
}
|
|
29
26
|
async exists(name) {
|
|
30
27
|
const result = await this.db.raw(`SELECT EXISTS (SELECT 1 FROM ${TABLE} WHERE name = ?) AS present`, [name]);
|
|
31
28
|
const { present } = result.rows[0];
|
|
@@ -42,14 +39,12 @@ class SettingStore {
|
|
|
42
39
|
}
|
|
43
40
|
return undefined;
|
|
44
41
|
}
|
|
42
|
+
// Is actually an upsert
|
|
45
43
|
async insert(name, content) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
else {
|
|
51
|
-
await this.insertNewRow(name, content);
|
|
52
|
-
}
|
|
44
|
+
await this.db(TABLE)
|
|
45
|
+
.insert({ name, content })
|
|
46
|
+
.onConflict('name')
|
|
47
|
+
.merge();
|
|
53
48
|
}
|
|
54
49
|
async delete(name) {
|
|
55
50
|
await this.db(TABLE).where({ name }).del();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setting-store.js","sourceRoot":"","sources":["../../../src/lib/db/setting-store.ts"],"names":[],"mappings":";;AAIA,MAAM,KAAK,GAAG,UAAU,CAAC;AAEzB,MAAqB,YAAY;IAK7B,YAAY,EAAM,EAAE,SAAsB;QACtC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,mBAAmB,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YAC5D,OAAO,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,IAAI,EAAE,CAAC;QACrD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC;YACxD,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,OAAY;QACtC,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;aAChB,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;aACnB,MAAM,CAAC;YACJ,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SACnC,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"setting-store.js","sourceRoot":"","sources":["../../../src/lib/db/setting-store.ts"],"names":[],"mappings":";;AAIA,MAAM,KAAK,GAAG,UAAU,CAAC;AAEzB,MAAqB,YAAY;IAK7B,YAAY,EAAM,EAAE,SAAsB;QACtC,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,mBAAmB,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,eAAe;QACjB,IAAI,CAAC;YACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;YAC5D,OAAO,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,cAAc,IAAI,EAAE,CAAC;QACrD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,CAAC,CAAC,CAAC;YACxD,OAAO,EAAE,CAAC;QACd,CAAC;IACL,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY,EAAE,OAAY;QACtC,OAAO,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;aAChB,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;aACnB,MAAM,CAAC;YACJ,OAAO,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SACnC,CAAC,CAAC;IACX,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,GAAG,CAC5B,gCAAgC,KAAK,6BAA6B,EAClE,CAAC,IAAI,CAAC,CACT,CAAC;QACF,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACnC,OAAO,OAAO,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,GAAG,CAAI,IAAY;QACrB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE;aACvB,MAAM,EAAE;aACR,IAAI,CAAC,KAAK,CAAC;aACX,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC;aACnB,KAAK,CAAC,CAAC,CAAC,CAAC;QAEd,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAC7B,CAAC;QACD,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,wBAAwB;IACxB,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,OAAY;QACnC,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC;aACf,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;aACzB,UAAU,CAAC,MAAM,CAAC;aAClB,KAAK,EAAE,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,IAAY;QACrB,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;IAC/C,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;QACR,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;QAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;CACJ;AAxED,+BAwEC;AAED,MAAM,CAAC,OAAO,GAAG,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-feature-toggle-delta.d.ts","sourceRoot":"","sources":["../../../../../src/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EACR,WAAW,EACX,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,4BAA4B,MAAM,qDAAqD,CAAC;AAGpG,OAAO,KAAK,EACR,+BAA+B,EAC/B,kCAAkC,EACrC,MAAM,+CAA+C,CAAC;AAEvD,OAAO,YAAY,MAAM,QAAQ,CAAC;AAElC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAEH,KAAK,UAAU,EACf,KAAK,mBAAmB,EAI3B,MAAM,qCAAqC,CAAC;AAI7C,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAE3C,eAAO,MAAM,mBAAmB,WACpB,UAAU,EAAE,sBACA,MAAM,YAChB,MAAM,EAAE,cACN,MAAM,iBA+BrB,CAAC;AAEF,eAAO,MAAM,2BAA2B,UAC7B,mBAAmB,YAChB,MAAM,EAAE,cACN,MAAM,KACnB,mBAeF,CAAC;AAEF,qBAAa,wBAAyB,SAAQ,YAAY;IACtD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA2B;IAElD,OAAO,CAAC,iCAAiC,CAAqC;IAE9E,OAAO,CAAC,KAAK,CAA4B;IAEzC,OAAO,CAAC,UAAU,CAAc;IAEhC,OAAO,CAAC,iBAAiB,CAAa;IAEtC,OAAO,CAAC,YAAY,CAAgB;IAEpC,OAAO,CAAC,4BAA4B,CAA+B;IAEnE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAErD,OAAO,CAAC,QAAQ,CAAe;IAE/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAG5B,iCAAiC,EAAE,kCAAkC,EACrE,gBAAgB,EAAE,iBAAiB,EACnC,UAAU,EAAE,WAAW,EACvB,4BAA4B,EAAE,4BAA4B,EAC1D,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,cAAc;IAoB1B,MAAM,CAAC,WAAW,CACd,iCAAiC,EAAE,kCAAkC,EACrE,gBAAgB,EAAE,iBAAiB,EACnC,UAAU,EAAE,WAAW,EACvB,4BAA4B,EAAE,4BAA4B,EAC1D,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,cAAc;IAepB,QAAQ,CACV,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,KAAK,EAAE,mBAAmB,GAC3B,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"client-feature-toggle-delta.d.ts","sourceRoot":"","sources":["../../../../../src/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EACR,WAAW,EACX,wBAAwB,EACxB,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EACjB,cAAc,EACjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,4BAA4B,MAAM,qDAAqD,CAAC;AAGpG,OAAO,KAAK,EACR,+BAA+B,EAC/B,kCAAkC,EACrC,MAAM,+CAA+C,CAAC;AAEvD,OAAO,YAAY,MAAM,QAAQ,CAAC;AAElC,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAEH,KAAK,UAAU,EACf,KAAK,mBAAmB,EAI3B,MAAM,qCAAqC,CAAC;AAI7C,eAAO,MAAM,YAAY,iBAAiB,CAAC;AAE3C,eAAO,MAAM,mBAAmB,WACpB,UAAU,EAAE,sBACA,MAAM,YAChB,MAAM,EAAE,cACN,MAAM,iBA+BrB,CAAC;AAEF,eAAO,MAAM,2BAA2B,UAC7B,mBAAmB,YAChB,MAAM,EAAE,cACN,MAAM,KACnB,mBAeF,CAAC;AAEF,qBAAa,wBAAyB,SAAQ,YAAY;IACtD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA2B;IAElD,OAAO,CAAC,iCAAiC,CAAqC;IAE9E,OAAO,CAAC,KAAK,CAA4B;IAEzC,OAAO,CAAC,UAAU,CAAc;IAEhC,OAAO,CAAC,iBAAiB,CAAa;IAEtC,OAAO,CAAC,YAAY,CAAgB;IAEpC,OAAO,CAAC,4BAA4B,CAA+B;IAEnE,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAoB;IAErD,OAAO,CAAC,QAAQ,CAAe;IAE/B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAG5B,iCAAiC,EAAE,kCAAkC,EACrE,gBAAgB,EAAE,iBAAiB,EACnC,UAAU,EAAE,WAAW,EACvB,4BAA4B,EAAE,4BAA4B,EAC1D,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,cAAc;IAoB1B,MAAM,CAAC,WAAW,CACd,iCAAiC,EAAE,kCAAkC,EACrE,gBAAgB,EAAE,iBAAiB,EACnC,UAAU,EAAE,WAAW,EACvB,4BAA4B,EAAE,4BAA4B,EAC1D,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,cAAc;IAepB,QAAQ,CACV,aAAa,EAAE,MAAM,GAAG,SAAS,EACjC,KAAK,EAAE,mBAAmB,GAC3B,OAAO,CAAC,yBAAyB,GAAG,SAAS,CAAC;IAoDpC,qBAAqB;IAQlC;;OAEG;IACI,UAAU;YAIH,mBAAmB;IAkF3B,iBAAiB,CACnB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,+BAA+B,EAAE,CAAC;YAU/B,oBAAoB;IAmB5B,iBAAiB,CACnB,KAAK,EAAE,wBAAwB,GAChC,OAAO,CAAC,+BAA+B,EAAE,CAAC;IAM7C,cAAc;IASd,mBAAmB,CAAC,KAAK,EAAE,GAAG,GAAG,MAAM;CAI1C;AAED,YAAY,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -94,16 +94,12 @@ class ClientFeatureToggleDelta extends events_1.default {
|
|
|
94
94
|
else {
|
|
95
95
|
const environmentEvents = delta.getEvents();
|
|
96
96
|
const events = (0, exports.filterEventsByQuery)(environmentEvents, requiredRevisionId, projects, namePrefix);
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
}
|
|
103
|
-
return event;
|
|
104
|
-
}),
|
|
97
|
+
if (events.length === 0) {
|
|
98
|
+
return undefined;
|
|
99
|
+
}
|
|
100
|
+
return {
|
|
101
|
+
events,
|
|
105
102
|
};
|
|
106
|
-
return Promise.resolve(response);
|
|
107
103
|
}
|
|
108
104
|
}
|
|
109
105
|
async onUpdateRevisionEvent() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-feature-toggle-delta.js","sourceRoot":"","sources":["../../../../../src/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client-feature-toggle-delta.js","sourceRoot":"","sources":["../../../../../src/lib/features/client-feature-toggles/delta/client-feature-toggle-delta.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delta-cache.d.ts","sourceRoot":"","sources":["../../../../../src/lib/features/client-feature-toggles/delta/delta-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAEH,KAAK,mBAAmB,EAC3B,MAAM,qCAAqC,CAAC;AAE7C,qBAAa,UAAU;IACnB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAsB;gBAEhC,cAAc,EAAE,mBAAmB,EAAE,SAAS,GAAE,MAAW;IAOvE,OAAO,CAAC,yBAAyB;IAc1B,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI;IASrC,SAAS,IAAI,UAAU,EAAE;IAIzB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI9C,iBAAiB,IAAI,mBAAmB;IAI/C,OAAO,CAAC,oBAAoB;
|
|
1
|
+
{"version":3,"file":"delta-cache.d.ts","sourceRoot":"","sources":["../../../../../src/lib/features/client-feature-toggles/delta/delta-cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAChE,OAAO,EAEH,KAAK,mBAAmB,EAC3B,MAAM,qCAAqC,CAAC;AAE7C,qBAAa,UAAU;IACnB,OAAO,CAAC,MAAM,CAAoB;IAClC,OAAO,CAAC,SAAS,CAAS;IAC1B,OAAO,CAAC,cAAc,CAAsB;gBAEhC,cAAc,EAAE,mBAAmB,EAAE,SAAS,GAAE,MAAW;IAOvE,OAAO,CAAC,yBAAyB;IAc1B,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI;IASrC,SAAS,IAAI,UAAU,EAAE;IAIzB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI9C,iBAAiB,IAAI,mBAAmB;IAI/C,OAAO,CAAC,oBAAoB;CA+C/B"}
|
|
@@ -39,9 +39,10 @@ class DeltaCache {
|
|
|
39
39
|
for (const appliedEvent of events) {
|
|
40
40
|
switch (appliedEvent.type) {
|
|
41
41
|
case client_feature_toggle_delta_types_1.DELTA_EVENT_TYPES.FEATURE_UPDATED: {
|
|
42
|
-
const
|
|
43
|
-
if (
|
|
44
|
-
|
|
42
|
+
const featureIndex = this.hydrationEvent.features.findIndex((feature) => feature.name === appliedEvent.feature.name);
|
|
43
|
+
if (featureIndex > -1) {
|
|
44
|
+
this.hydrationEvent.features[featureIndex] =
|
|
45
|
+
appliedEvent.feature;
|
|
45
46
|
}
|
|
46
47
|
else {
|
|
47
48
|
this.hydrationEvent.features.push(appliedEvent.feature);
|
|
@@ -54,9 +55,10 @@ class DeltaCache {
|
|
|
54
55
|
break;
|
|
55
56
|
}
|
|
56
57
|
case client_feature_toggle_delta_types_1.DELTA_EVENT_TYPES.SEGMENT_UPDATED: {
|
|
57
|
-
const
|
|
58
|
-
if (
|
|
59
|
-
|
|
58
|
+
const segmentIndex = this.hydrationEvent.segments.findIndex((segment) => segment.id === appliedEvent.segment.id);
|
|
59
|
+
if (segmentIndex > -1) {
|
|
60
|
+
this.hydrationEvent.segments[segmentIndex] =
|
|
61
|
+
appliedEvent.segment;
|
|
60
62
|
}
|
|
61
63
|
else {
|
|
62
64
|
this.hydrationEvent.segments.push(appliedEvent.segment);
|
|
@@ -69,6 +71,7 @@ class DeltaCache {
|
|
|
69
71
|
break;
|
|
70
72
|
}
|
|
71
73
|
}
|
|
74
|
+
this.hydrationEvent.eventId = appliedEvent.eventId;
|
|
72
75
|
}
|
|
73
76
|
}
|
|
74
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delta-cache.js","sourceRoot":"","sources":["../../../../../src/lib/features/client-feature-toggles/delta/delta-cache.ts"],"names":[],"mappings":";;;AACA,2FAG6C;AAE7C,MAAa,UAAU;IAKnB,YAAY,cAAmC,EAAE,YAAoB,EAAE;QAJ/D,WAAM,GAAiB,EAAE,CAAC;QAK9B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,CAAC,yBAAyB,CAAC,cAAc,CAAC,CAAC;IACnD,CAAC;IAEO,yBAAyB,CAC7B,cAAmC;QAEnC,MAAM,WAAW,GACb,cAAc,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,CAAC;YACX;gBACI,OAAO,EAAE,cAAc,CAAC,OAAO;gBAC/B,IAAI,EAAE,iBAAiB;gBACvB,OAAO,EAAE,WAAW;aACvB;SACJ,CAAC,CAAC;IACP,CAAC;IAEM,SAAS,CAAC,MAAoB;QACjC,IAAI,CAAC,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC;QAE1C,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACxB,CAAC;IACL,CAAC;IAEM,SAAS;QACZ,OAAO,IAAI,CAAC,MAAM,CAAC;IACvB,CAAC;IAEM,iBAAiB,CAAC,UAAkB;QACvC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC;IACtE,CAAC;IAEM,iBAAiB;QACpB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAEO,oBAAoB,CAAC,MAAoB;QAC7C,KAAK,MAAM,YAAY,IAAI,MAAM,EAAE,CAAC;YAChC,QAAQ,YAAY,CAAC,IAAI,EAAE,CAAC;gBACxB,KAAK,qDAAiB,CAAC,eAAe,CAAC,CAAC,CAAC;oBACrC,MAAM,
|
|
1
|
+
{"version":3,"file":"delta-cache.js","sourceRoot":"","sources":["../../../../../src/lib/features/client-feature-toggles/delta/delta-cache.ts"],"names":[],"mappings":"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"}
|
|
@@ -126,13 +126,13 @@ describe('RevisionCache', () => {
|
|
|
126
126
|
},
|
|
127
127
|
{
|
|
128
128
|
eventId: 4,
|
|
129
|
-
type:
|
|
129
|
+
type: client_feature_toggle_delta_types_1.DELTA_EVENT_TYPES.FEATURE_REMOVED,
|
|
130
130
|
featureName: 'test-flag',
|
|
131
131
|
project: 'default',
|
|
132
132
|
},
|
|
133
133
|
{
|
|
134
134
|
eventId: 5,
|
|
135
|
-
type:
|
|
135
|
+
type: client_feature_toggle_delta_types_1.DELTA_EVENT_TYPES.SEGMENT_UPDATED,
|
|
136
136
|
segment: {
|
|
137
137
|
id: 1,
|
|
138
138
|
name: 'update-segment-new',
|
|
@@ -141,12 +141,12 @@ describe('RevisionCache', () => {
|
|
|
141
141
|
},
|
|
142
142
|
{
|
|
143
143
|
eventId: 6,
|
|
144
|
-
type:
|
|
144
|
+
type: client_feature_toggle_delta_types_1.DELTA_EVENT_TYPES.SEGMENT_REMOVED,
|
|
145
145
|
segmentId: 2,
|
|
146
146
|
},
|
|
147
147
|
{
|
|
148
148
|
eventId: 7,
|
|
149
|
-
type:
|
|
149
|
+
type: client_feature_toggle_delta_types_1.DELTA_EVENT_TYPES.SEGMENT_UPDATED,
|
|
150
150
|
segment: {
|
|
151
151
|
id: 3,
|
|
152
152
|
name: 'new-segment',
|
|
@@ -161,6 +161,7 @@ describe('RevisionCache', () => {
|
|
|
161
161
|
expect(events).toEqual(addedEvents.slice(-2));
|
|
162
162
|
const hydrationEvent = deltaCache.getHydrationEvent();
|
|
163
163
|
expect(hydrationEvent.features).toHaveLength(2);
|
|
164
|
+
expect(hydrationEvent.eventId).toEqual(7);
|
|
164
165
|
expect(hydrationEvent.features).toEqual(expect.arrayContaining([
|
|
165
166
|
expect.objectContaining({ name: 'my-feature-flag' }),
|
|
166
167
|
expect.objectContaining({ name: 'another-feature-flag' }),
|
|
@@ -170,5 +171,64 @@ describe('RevisionCache', () => {
|
|
|
170
171
|
expect.objectContaining({ name: 'new-segment' }),
|
|
171
172
|
]));
|
|
172
173
|
});
|
|
174
|
+
it('should not mutate previous feature-updated events when new events with the same feature name are added', () => {
|
|
175
|
+
const baseEvent = {
|
|
176
|
+
eventId: 1,
|
|
177
|
+
features: [
|
|
178
|
+
{
|
|
179
|
+
name: 'base-flag',
|
|
180
|
+
type: 'release',
|
|
181
|
+
enabled: true,
|
|
182
|
+
project: 'streaming-deltas',
|
|
183
|
+
stale: false,
|
|
184
|
+
strategies: [],
|
|
185
|
+
variants: [],
|
|
186
|
+
description: null,
|
|
187
|
+
impressionData: false,
|
|
188
|
+
},
|
|
189
|
+
],
|
|
190
|
+
type: 'hydration',
|
|
191
|
+
segments: [],
|
|
192
|
+
};
|
|
193
|
+
const deltaCache = new delta_cache_1.DeltaCache(baseEvent, 10);
|
|
194
|
+
const initialFeatureEvent = {
|
|
195
|
+
eventId: 129,
|
|
196
|
+
type: client_feature_toggle_delta_types_1.DELTA_EVENT_TYPES.FEATURE_UPDATED,
|
|
197
|
+
feature: {
|
|
198
|
+
impressionData: false,
|
|
199
|
+
enabled: false,
|
|
200
|
+
name: 'streaming-test',
|
|
201
|
+
description: null,
|
|
202
|
+
project: 'streaming-deltas',
|
|
203
|
+
stale: false,
|
|
204
|
+
type: 'release',
|
|
205
|
+
variants: [],
|
|
206
|
+
strategies: [],
|
|
207
|
+
},
|
|
208
|
+
};
|
|
209
|
+
// This tests is to verify that the initialFeatureEvent is not mutated when a new event with the same feature name is added
|
|
210
|
+
// the following dirty way to clone this object is to avoid mutation on the comparison object. Because the object is passed by reference
|
|
211
|
+
// we would be comparing the same object with itself which would cause the expect check to always pass because the comparison would
|
|
212
|
+
// also change to match the object being compared.
|
|
213
|
+
deltaCache.addEvents([JSON.parse(JSON.stringify(initialFeatureEvent))]);
|
|
214
|
+
const updatedFeatureEvent = {
|
|
215
|
+
eventId: 130,
|
|
216
|
+
type: client_feature_toggle_delta_types_1.DELTA_EVENT_TYPES.FEATURE_UPDATED,
|
|
217
|
+
feature: {
|
|
218
|
+
impressionData: false,
|
|
219
|
+
enabled: true,
|
|
220
|
+
name: 'streaming-test',
|
|
221
|
+
description: null,
|
|
222
|
+
project: 'streaming-deltas',
|
|
223
|
+
stale: false,
|
|
224
|
+
type: 'release',
|
|
225
|
+
variants: [],
|
|
226
|
+
strategies: [{ name: 'new-strategy', parameters: {} }],
|
|
227
|
+
},
|
|
228
|
+
};
|
|
229
|
+
deltaCache.addEvents([updatedFeatureEvent]);
|
|
230
|
+
// @ts-ignore
|
|
231
|
+
expect(deltaCache.events[1]).toStrictEqual(initialFeatureEvent);
|
|
232
|
+
});
|
|
173
233
|
});
|
|
174
234
|
//# sourceMappingURL=delta-cache.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delta-cache.test.js","sourceRoot":"","sources":["../../../../../src/lib/features/client-feature-toggles/delta/delta-cache.test.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"delta-cache.test.js","sourceRoot":"","sources":["../../../../../src/lib/features/client-feature-toggles/delta/delta-cache.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { Context } from 'unleash-client';
|
|
2
|
-
export declare function createContext(
|
|
3
|
-
export declare const enrichContextWithIp: (
|
|
2
|
+
export declare function createContext(contextData: any): Context;
|
|
3
|
+
export declare const enrichContextWithIp: (contextData: any, ip: string) => Context;
|
|
4
4
|
//# sourceMappingURL=create-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-context.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/frontend-api/create-context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,wBAAgB,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"create-context.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/frontend-api/create-context.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C,wBAAgB,aAAa,CAAC,WAAW,EAAE,GAAG,GAAG,OAAO,CA2BvD;AAED,eAAO,MAAM,mBAAmB,gBAAiB,GAAG,MAAM,MAAM,KAAG,OAKlE,CAAC"}
|
|
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.enrichContextWithIp = exports.createContext = void 0;
|
|
7
7
|
// Copy of https://github.com/Unleash/unleash-proxy/blob/main/src/create-context.ts.
|
|
8
8
|
const crypto_1 = __importDefault(require("crypto"));
|
|
9
|
-
function createContext(
|
|
10
|
-
const { appName, environment, userId, sessionId, remoteAddress, properties, ...rest } =
|
|
9
|
+
function createContext(contextData) {
|
|
10
|
+
const { appName, environment, userId, sessionId, remoteAddress, properties, ...rest } = contextData;
|
|
11
11
|
// move non root context fields to properties
|
|
12
12
|
const context = {
|
|
13
13
|
appName,
|
|
@@ -24,10 +24,11 @@ function createContext(value) {
|
|
|
24
24
|
return cleanContext;
|
|
25
25
|
}
|
|
26
26
|
exports.createContext = createContext;
|
|
27
|
-
const enrichContextWithIp = (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
const enrichContextWithIp = (contextData, ip) => {
|
|
28
|
+
contextData.remoteAddress = contextData.remoteAddress || ip;
|
|
29
|
+
contextData.sessionId =
|
|
30
|
+
contextData.sessionId || crypto_1.default.randomBytes(18).toString('hex');
|
|
31
|
+
return createContext(contextData);
|
|
31
32
|
};
|
|
32
33
|
exports.enrichContextWithIp = enrichContextWithIp;
|
|
33
34
|
//# sourceMappingURL=create-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-context.js","sourceRoot":"","sources":["../../../../src/lib/features/frontend-api/create-context.ts"],"names":[],"mappings":";;;;;;AAAA,oFAAoF;AACpF,oDAA4B;AAG5B,SAAgB,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"create-context.js","sourceRoot":"","sources":["../../../../src/lib/features/frontend-api/create-context.ts"],"names":[],"mappings":";;;;;;AAAA,oFAAoF;AACpF,oDAA4B;AAG5B,SAAgB,aAAa,CAAC,WAAgB;IAC1C,MAAM,EACF,OAAO,EACP,WAAW,EACX,MAAM,EACN,SAAS,EACT,aAAa,EACb,UAAU,EACV,GAAG,IAAI,EACV,GAAG,WAAW,CAAC;IAEhB,6CAA6C;IAC7C,MAAM,OAAO,GAAY;QACrB,OAAO;QACP,WAAW;QACX,MAAM;QACN,SAAS;QACT,aAAa;QACb,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC;KAClD,CAAC;IAEF,4CAA4C;IAC5C,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC;SACpC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;SACzB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IAEvD,OAAO,YAAY,CAAC;AACxB,CAAC;AA3BD,sCA2BC;AAEM,MAAM,mBAAmB,GAAG,CAAC,WAAgB,EAAE,EAAU,EAAW,EAAE;IACzE,WAAW,CAAC,aAAa,GAAG,WAAW,CAAC,aAAa,IAAI,EAAE,CAAC;IAC5D,WAAW,CAAC,SAAS;QACjB,WAAW,CAAC,SAAS,IAAI,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpE,OAAO,aAAa,CAAC,WAAW,CAAC,CAAC;AACtC,CAAC,CAAC;AALW,QAAA,mBAAmB,uBAK9B"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-api-controller.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/frontend-api/frontend-api-controller.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAQ,MAAM,aAAa,CAAC;AAgC/E,KAAK,QAAQ,GAAG,IAAI,CAChB,gBAAgB,EAChB,gBAAgB,GAAG,oBAAoB,GAAG,gBAAgB,CAC7D,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,UAAU;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,QAAQ,CAAW;IAE3B,OAAO,CAAC,KAAK,CAAW;gBAEZ,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ;
|
|
1
|
+
{"version":3,"file":"frontend-api-controller.d.ts","sourceRoot":"","sources":["../../../../src/lib/features/frontend-api/frontend-api-controller.ts"],"names":[],"mappings":"AACA,OAAO,UAAU,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,gBAAgB,EAAQ,MAAM,aAAa,CAAC;AAgC/E,KAAK,QAAQ,GAAG,IAAI,CAChB,gBAAgB,EAChB,gBAAgB,GAAG,oBAAoB,GAAG,gBAAgB,CAC7D,CAAC;AAEF,MAAM,CAAC,OAAO,OAAO,qBAAsB,SAAQ,UAAU;IACzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;IAEhC,OAAO,CAAC,QAAQ,CAAW;IAE3B,OAAO,CAAC,KAAK,CAAW;gBAEZ,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,QAAQ;mBA2IjC,sBAAsB;YAU7B,sBAAsB;YAuBtB,0BAA0B;YAqB1B,yBAAyB;IAYvC,OAAO,CAAC,MAAM,CAAC,aAAa;CAQ/B"}
|
|
@@ -47,8 +47,21 @@ class FrontendAPIController extends controller_1.default {
|
|
|
47
47
|
this.route({
|
|
48
48
|
method: 'post',
|
|
49
49
|
path: '',
|
|
50
|
-
handler:
|
|
50
|
+
handler: this.getFrontendApiFeatures,
|
|
51
51
|
permission: types_1.NONE,
|
|
52
|
+
middleware: [
|
|
53
|
+
this.services.openApiService.validPath({
|
|
54
|
+
tags: ['Frontend API'],
|
|
55
|
+
operationId: 'getFrontendApiFeaturesWithPost',
|
|
56
|
+
requestBody: (0, openapi_1.createRequestSchema)('frontendApiFeaturesPostSchema'),
|
|
57
|
+
responses: {
|
|
58
|
+
200: (0, openapi_1.createResponseSchema)('frontendApiFeaturesSchema'),
|
|
59
|
+
...(0, openapi_1.getStandardResponses)(401, 404),
|
|
60
|
+
},
|
|
61
|
+
summary: 'Retrieve enabled feature flags for the provided context, using POST.',
|
|
62
|
+
description: 'This endpoint returns the list of feature flags that the frontend API evaluates to enabled for the given context, using POST. Context values are provided as a `context` property in the request body. If the Frontend API is disabled 404 is returned.',
|
|
63
|
+
}),
|
|
64
|
+
],
|
|
52
65
|
});
|
|
53
66
|
this.route({
|
|
54
67
|
method: 'get',
|
|
@@ -155,8 +168,10 @@ class FrontendAPIController extends controller_1.default {
|
|
|
155
168
|
res.sendStatus(200);
|
|
156
169
|
}
|
|
157
170
|
static createContext(req) {
|
|
158
|
-
const { query } = req;
|
|
159
|
-
|
|
171
|
+
const { query, body } = req;
|
|
172
|
+
const bodyContext = body.context ?? {};
|
|
173
|
+
const contextData = req.method === 'POST' ? bodyContext : query;
|
|
174
|
+
return (0, index_1.enrichContextWithIp)(contextData, req.ip);
|
|
160
175
|
}
|
|
161
176
|
}
|
|
162
177
|
exports.default = FrontendAPIController;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"frontend-api-controller.js","sourceRoot":"","sources":["../../../../src/lib/features/frontend-api/frontend-api-controller.ts"],"names":[],"mappings":";;;;;AACA,yEAAiD;AACjD,uCAA+E;AAG/E,2CASuB;AAEvB,mCAA8C;AAC9C,iDAAwD;AACxD,8FAAoE;AACpE,gFAAuD;AACvD,4EAA2C;AAC3C,uCAAiD;AACjD,+EAAsD;AACtD,uDAAoD;AAgBpD,MAAqB,qBAAsB,SAAQ,oBAAU;IAOzD,YAAY,MAAsB,EAAE,QAAkB;QAClD,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,4BAA4B,CAAC,CAAC;QAC7D,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,IAAI,CAAC,KAAK,GAAG,CAAC,YAAoB,EAAE,EAAE,CAClC,wBAAa,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,EAAE,6BAAa,EAAE;YACpD,SAAS,EAAE,uBAAuB;YAClC,YAAY;SACf,CAAC,CAAC;QAEP,oDAAoD;QACpD,8CAA8C;QAC9C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAA,iCAAoB,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAErD,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,IAAI,CAAC,sBAAsB;YACpC,UAAU,EAAE,YAAI;YAChB,UAAU,EAAE;gBACR,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC;oBACnC,IAAI,EAAE,CAAC,cAAc,CAAC;oBACtB,WAAW,EAAE,qBAAqB;oBAClC,SAAS,EAAE;wBACP,GAAG,EAAE,IAAA,8BAAoB,EAAC,2BAA2B,CAAC;wBACtD,GAAG,IAAA,8BAAoB,EAAC,GAAG,EAAE,GAAG,CAAC;qBACpC;oBACD,OAAO,EACH,0DAA0D;oBAC9D,WAAW,EACP,qNAAqN;iBAC5N,CAAC;aACL;SACJ,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC;YACP,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE;YACR,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"frontend-api-controller.js","sourceRoot":"","sources":["../../../../src/lib/features/frontend-api/frontend-api-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -213,12 +213,6 @@ test('should allow requests with a frontend token', async () => {
|
|
|
213
213
|
});
|
|
214
214
|
test('should return 405 from unimplemented endpoints', async () => {
|
|
215
215
|
const frontendToken = await (0, exports.createApiToken)(api_token_1.ApiTokenType.FRONTEND);
|
|
216
|
-
await app.request
|
|
217
|
-
.post('/api/frontend')
|
|
218
|
-
.send({})
|
|
219
|
-
.set('Authorization', frontendToken.secret)
|
|
220
|
-
.expect('Content-Type', /json/)
|
|
221
|
-
.expect(405);
|
|
222
216
|
await app.request
|
|
223
217
|
.get('/api/frontend/client/features')
|
|
224
218
|
.set('Authorization', frontendToken.secret)
|
|
@@ -1114,4 +1108,100 @@ test('should resolve variable rollout percentage consistently', async () => {
|
|
|
1114
1108
|
}
|
|
1115
1109
|
}
|
|
1116
1110
|
});
|
|
1111
|
+
test('should return enabled feature flags using POST', async () => {
|
|
1112
|
+
const frontendToken = await (0, exports.createApiToken)(api_token_1.ApiTokenType.FRONTEND);
|
|
1113
|
+
await createFeatureToggle({
|
|
1114
|
+
name: 'enabledFeature1',
|
|
1115
|
+
enabled: true,
|
|
1116
|
+
strategies: [{ name: 'default', constraints: [], parameters: {} }],
|
|
1117
|
+
});
|
|
1118
|
+
await createFeatureToggle({
|
|
1119
|
+
name: 'enabledFeature2',
|
|
1120
|
+
enabled: true,
|
|
1121
|
+
strategies: [{ name: 'default', constraints: [], parameters: {} }],
|
|
1122
|
+
});
|
|
1123
|
+
await createFeatureToggle({
|
|
1124
|
+
name: 'disabledFeature',
|
|
1125
|
+
enabled: false,
|
|
1126
|
+
strategies: [{ name: 'default', constraints: [], parameters: {} }],
|
|
1127
|
+
});
|
|
1128
|
+
await frontendApiService.refreshData();
|
|
1129
|
+
await app.request
|
|
1130
|
+
.post('/api/frontend')
|
|
1131
|
+
.set('Authorization', frontendToken.secret)
|
|
1132
|
+
.set('Content-Type', 'application/json')
|
|
1133
|
+
.send()
|
|
1134
|
+
.expect('Content-Type', /json/)
|
|
1135
|
+
.expect(200)
|
|
1136
|
+
.expect((res) => {
|
|
1137
|
+
expect(res.body).toEqual({
|
|
1138
|
+
toggles: [
|
|
1139
|
+
{
|
|
1140
|
+
name: 'enabledFeature1',
|
|
1141
|
+
enabled: true,
|
|
1142
|
+
impressionData: false,
|
|
1143
|
+
variant: {
|
|
1144
|
+
enabled: false,
|
|
1145
|
+
name: 'disabled',
|
|
1146
|
+
feature_enabled: true,
|
|
1147
|
+
featureEnabled: true,
|
|
1148
|
+
},
|
|
1149
|
+
},
|
|
1150
|
+
{
|
|
1151
|
+
name: 'enabledFeature2',
|
|
1152
|
+
enabled: true,
|
|
1153
|
+
impressionData: false,
|
|
1154
|
+
variant: {
|
|
1155
|
+
enabled: false,
|
|
1156
|
+
name: 'disabled',
|
|
1157
|
+
feature_enabled: true,
|
|
1158
|
+
featureEnabled: true,
|
|
1159
|
+
},
|
|
1160
|
+
},
|
|
1161
|
+
],
|
|
1162
|
+
});
|
|
1163
|
+
});
|
|
1164
|
+
});
|
|
1165
|
+
test('should return enabled feature flags based on context using POST', async () => {
|
|
1166
|
+
const frontendToken = await (0, exports.createApiToken)(api_token_1.ApiTokenType.FRONTEND);
|
|
1167
|
+
const featureName = 'featureWithEnvironmentConstraint';
|
|
1168
|
+
await createFeatureToggle({
|
|
1169
|
+
name: featureName,
|
|
1170
|
+
enabled: true,
|
|
1171
|
+
strategies: [
|
|
1172
|
+
{
|
|
1173
|
+
name: 'default',
|
|
1174
|
+
constraints: [
|
|
1175
|
+
{
|
|
1176
|
+
contextName: 'userId',
|
|
1177
|
+
operator: 'IN',
|
|
1178
|
+
values: ['1337'],
|
|
1179
|
+
},
|
|
1180
|
+
],
|
|
1181
|
+
parameters: {},
|
|
1182
|
+
},
|
|
1183
|
+
],
|
|
1184
|
+
});
|
|
1185
|
+
await frontendApiService.refreshData();
|
|
1186
|
+
await app.request
|
|
1187
|
+
.post('/api/frontend')
|
|
1188
|
+
.set('Authorization', frontendToken.secret)
|
|
1189
|
+
.set('Content-Type', 'application/json')
|
|
1190
|
+
.send({ context: { userId: '1337' } })
|
|
1191
|
+
.expect('Content-Type', /json/)
|
|
1192
|
+
.expect(200)
|
|
1193
|
+
.expect((res) => {
|
|
1194
|
+
expect(res.body.toggles).toHaveLength(1);
|
|
1195
|
+
expect(res.body.toggles[0].name).toBe(featureName);
|
|
1196
|
+
});
|
|
1197
|
+
await app.request
|
|
1198
|
+
.post('/api/frontend')
|
|
1199
|
+
.set('Authorization', frontendToken.secret)
|
|
1200
|
+
.send({ context: { appName: 'test', userId: '42' } })
|
|
1201
|
+
.expect('Content-Type', /json/)
|
|
1202
|
+
.expect(200)
|
|
1203
|
+
.expect((res) => {
|
|
1204
|
+
expect(res.body.toggles).toHaveLength(0);
|
|
1205
|
+
});
|
|
1206
|
+
});
|
|
1117
1207
|
//# sourceMappingURL=frontend-api.e2e.test.js.map
|