From 73322f12f71ae28b2d0f3e870e113bad72d2ed42 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Wed, 31 Jan 2024 17:24:35 +0900 Subject: [PATCH] chore: remove detectSegmentUsageInChangeRequests flag (#6080) What it says on the tin. Removes all uses of the detectSegmentUsageInChangeRequests flag. --- .../__snapshots__/create-config.test.ts.snap | 1 - src/lib/db/segment-store.test.ts | 4 +- src/lib/db/segment-store.ts | 5 +-- .../features/segment/segment-controller.ts | 38 ++++++++----------- src/lib/services/segment-service.ts | 5 +-- src/lib/types/experimental.ts | 6 --- src/test/e2e/api/admin/segment.e2e.test.ts | 5 +-- src/test/e2e/api/client/segment.e2e.test.ts | 4 +- 8 files changed, 20 insertions(+), 48 deletions(-) diff --git a/src/lib/__snapshots__/create-config.test.ts.snap b/src/lib/__snapshots__/create-config.test.ts.snap index 28275df5a3..7b3e0e78be 100644 --- a/src/lib/__snapshots__/create-config.test.ts.snap +++ b/src/lib/__snapshots__/create-config.test.ts.snap @@ -82,7 +82,6 @@ exports[`should create default config 1`] = ` "createdByUserIdDataMigration": false, "customRootRolesKillSwitch": false, "demo": false, - "detectSegmentUsageInChangeRequests": false, "disableBulkToggle": false, "disableMetrics": false, "disableNotifications": false, diff --git a/src/lib/db/segment-store.test.ts b/src/lib/db/segment-store.test.ts index b1056e1158..0af116a282 100644 --- a/src/lib/db/segment-store.test.ts +++ b/src/lib/db/segment-store.test.ts @@ -11,9 +11,7 @@ let segmentStore: ISegmentStore; beforeAll(async () => { db = await dbInit('segment_store_serial', getLogger, { experimental: { - flags: { - detectSegmentUsageInChangeRequests: true, - }, + flags: {}, }, }); stores = db.stores; diff --git a/src/lib/db/segment-store.ts b/src/lib/db/segment-store.ts index 1ab21549d8..ee95b6a32a 100644 --- a/src/lib/db/segment-store.ts +++ b/src/lib/db/segment-store.ts @@ -115,10 +115,7 @@ export default class SegmentStore implements ISegmentStore { async getAll( includeChangeRequestUsageData: boolean = false, ): Promise { - if ( - includeChangeRequestUsageData && - this.flagResolver.isEnabled('detectSegmentUsageInChangeRequests') - ) { + if (includeChangeRequestUsageData) { const pendingCRs = await this.db .select('id', 'project') .from('change_requests') diff --git a/src/lib/features/segment/segment-controller.ts b/src/lib/features/segment/segment-controller.ts index f7248f41e1..5633263f58 100644 --- a/src/lib/features/segment/segment-controller.ts +++ b/src/lib/features/segment/segment-controller.ts @@ -362,24 +362,21 @@ export class SegmentsController extends Controller { environment: strategy.environment, })); - if (this.flagResolver.isEnabled('detectSegmentUsageInChangeRequests')) { - const changeRequestStrategies = - strategies.changeRequestStrategies.map((strategy) => ({ - ...('id' in strategy ? { id: strategy.id } : {}), - projectId: strategy.projectId, - featureName: strategy.featureName, - strategyName: strategy.strategyName, - environment: strategy.environment, - changeRequest: strategy.changeRequest, - })); + const changeRequestStrategies = strategies.changeRequestStrategies.map( + (strategy) => ({ + ...('id' in strategy ? { id: strategy.id } : {}), + projectId: strategy.projectId, + featureName: strategy.featureName, + strategyName: strategy.strategyName, + environment: strategy.environment, + changeRequest: strategy.changeRequest, + }), + ); - res.json({ - strategies: segmentStrategies, - changeRequestStrategies, - }); - } else { - res.json({ strategies: segmentStrategies }); - } + res.json({ + strategies: segmentStrategies, + changeRequestStrategies, + }); } async removeSegment( @@ -389,12 +386,7 @@ export class SegmentsController extends Controller { const id = Number(req.params.id); let segmentIsInUse = false; - if (this.flagResolver.isEnabled('detectSegmentUsageInChangeRequests')) { - segmentIsInUse = await this.segmentService.isInUse(id); - } else { - const strategies = await this.segmentService.getAllStrategies(id); - segmentIsInUse = strategies.strategies.length > 0; - } + segmentIsInUse = await this.segmentService.isInUse(id); if (segmentIsInUse) { res.status(409).send(); diff --git a/src/lib/services/segment-service.ts b/src/lib/services/segment-service.ts index ad600652d9..3003905f40 100644 --- a/src/lib/services/segment-service.ts +++ b/src/lib/services/segment-service.ts @@ -115,10 +115,7 @@ export class SegmentService implements ISegmentService { const strategies = await this.featureStrategiesStore.getStrategiesBySegment(id); - if ( - this.flagResolver.isEnabled('detectSegmentUsageInChangeRequests') && - this.config.isEnterprise - ) { + if (this.config.isEnterprise) { const changeRequestStrategies = await this.changeRequestSegmentUsageReadModel.getStrategiesUsedInActiveChangeRequests( id, diff --git a/src/lib/types/experimental.ts b/src/lib/types/experimental.ts index 14d248ed77..e9ec99c153 100644 --- a/src/lib/types/experimental.ts +++ b/src/lib/types/experimental.ts @@ -28,7 +28,6 @@ export type IFlagKey = | 'customRootRolesKillSwitch' | 'disableMetrics' | 'scheduledConfigurationChanges' - | 'detectSegmentUsageInChangeRequests' | 'stripClientHeadersOn304' | 'newStrategyConfiguration' | 'stripHeadersOnAPI' @@ -133,11 +132,6 @@ const flags: IFlags = { process.env.UNLEASH_EXPERIMENTAL_SCHEDULED_CONFIGURATION_CHANGES, false, ), - detectSegmentUsageInChangeRequests: parseEnvVarBoolean( - process.env - .UNLEASH_EXPERIMENTAL_DETECT_SEGMENT_USAGE_IN_CHANGE_REQUESTS, - false, - ), stripClientHeadersOn304: parseEnvVarBoolean( process.env .UNLEASH_EXPERIMENTAL_DETECT_SEGMENT_USAGE_IN_CHANGE_REQUESTS, diff --git a/src/test/e2e/api/admin/segment.e2e.test.ts b/src/test/e2e/api/admin/segment.e2e.test.ts index f480a4d9e9..1e0bf95664 100644 --- a/src/test/e2e/api/admin/segment.e2e.test.ts +++ b/src/test/e2e/api/admin/segment.e2e.test.ts @@ -106,7 +106,6 @@ beforeAll(async () => { experimental: { flags: { anonymiseEventLog: true, - detectSegmentUsageInChangeRequests: true, }, }, }; @@ -588,9 +587,7 @@ describe('detect strategy usage in change requests', () => { ui: { environment: 'Enterprise' }, isEnterprise: true, experimental: { - flags: { - detectSegmentUsageInChangeRequests: true, - }, + flags: {}, }, }, db.rawDatabase, diff --git a/src/test/e2e/api/client/segment.e2e.test.ts b/src/test/e2e/api/client/segment.e2e.test.ts index a2d35dddcb..9c35d719af 100644 --- a/src/test/e2e/api/client/segment.e2e.test.ts +++ b/src/test/e2e/api/client/segment.e2e.test.ts @@ -188,9 +188,7 @@ beforeAll(async () => { db.stores, { experimental: { - flags: { - detectSegmentUsageInChangeRequests: true, - }, + flags: {}, }, }, db.rawDatabase,