diff --git a/src/lib/db/feature-toggle-admin-store.ts b/src/lib/db/feature-toggle-admin-store.ts index 68d74ac656..a50cef0999 100644 --- a/src/lib/db/feature-toggle-admin-store.ts +++ b/src/lib/db/feature-toggle-admin-store.ts @@ -2,19 +2,11 @@ import { Knex } from 'knex'; import metricsHelper from '../util/metrics-helper'; import { DB_TIME } from '../metric-events'; import { Logger, LogProvider } from '../logger'; -import { - FeatureToggle, - IFeatureToggleClient, - IFeatureToggleQuery, - IStrategyConfig, - ITag, -} from '../types/model'; +import { FeatureToggle, IFeatureToggleQuery } from '../types/model'; import { DEFAULT_ENV } from '../util/constants'; import { PartialDeep } from '../types/partial'; import EventEmitter from 'events'; import FeatureToggleStore from './feature-toggle-store'; -import { ensureStringValue } from '../util/ensureStringValue'; -import { mapValues } from '../util/map-values'; import { Db } from './db'; import Raw = Knex.Raw; @@ -160,20 +152,8 @@ export default class FeatureToggleAdminStore { stopTimer(); const featureToggles = rows.reduce((acc, r) => { - let feature: PartialDeep = acc[r.name] ?? { - strategies: [], - }; - if (this.isNewTag(feature, r)) { - this.addTag(feature, r); - } - if (featureQuery?.inlineSegmentConstraints && r.segment_id) { - this.addSegmentToStrategy(feature, r); - } else if ( - !featureQuery?.inlineSegmentConstraints && - r.segment_id - ) { - this.addSegmentIdsToStrategy(feature, r); - } + let feature: PartialDeep = acc[r.name] ?? {}; + feature.impressionData = r.impression_data; feature.name = r.name; feature.description = r.description; @@ -194,85 +174,11 @@ export default class FeatureToggleAdminStore { return features; } - private static rowToStrategy(row: Record): IStrategyConfig { - return { - id: row.strategy_id, - name: row.strategy_name, - constraints: row.constraints || [], - parameters: mapValues(row.parameters || {}, ensureStringValue), - }; - } - - private static rowToTag(row: Record): ITag { - return { - value: row.tag_value, - type: row.tag_type, - }; - } - - private isUnseenStrategyRow( - feature: PartialDeep, - row: Record, - ): boolean { - return ( - row.strategy_id && - !feature.strategies.find((s) => s.id === row.strategy_id) - ); - } - - private addTag( - feature: Record, - row: Record, - ): void { - const tags = feature.tags || []; - const newTag = FeatureToggleAdminStore.rowToTag(row); - feature.tags = [...tags, newTag]; - } - - private isNewTag( - feature: PartialDeep, - row: Record, - ): boolean { - return ( - row.tag_type && - row.tag_value && - !feature.tags?.some( - (tag) => - tag.type === row.tag_type && tag.value === row.tag_value, - ) - ); - } - - private addSegmentToStrategy( - feature: PartialDeep, - row: Record, - ) { - feature.strategies - .find((s) => s.id === row.strategy_id) - ?.constraints.push(...row.segment_constraints); - } - - private addSegmentIdsToStrategy( - feature: PartialDeep, - row: Record, - ) { - const strategy = feature.strategies.find( - (s) => s.id === row.strategy_id, - ); - if (!strategy) { - return; - } - if (!strategy.segments) { - strategy.segments = []; - } - strategy.segments.push(row.segment_id); - } - async getAdmin({ featureQuery, userId, archived, - }: IGetAdminFeatures): Promise { + }: IGetAdminFeatures): Promise { return this.getAll({ featureQuery, archived, userId }); } }