From e6d4a07f80e1dfd0d3660e0d265d74cfe2005630 Mon Sep 17 00:00:00 2001 From: Thomas Heartman Date: Fri, 5 Apr 2024 10:29:21 +0200 Subject: [PATCH] chore: revert most changes --- .../features/playground/clean-context.test.ts | 40 +++++-------------- src/lib/features/playground/clean-context.ts | 22 +++------- .../features/playground/playground-service.ts | 18 ++------- .../playground/playground-view-model.ts | 1 - 4 files changed, 20 insertions(+), 61 deletions(-) diff --git a/src/lib/features/playground/clean-context.test.ts b/src/lib/features/playground/clean-context.test.ts index 74f672739f..bf32cacf98 100644 --- a/src/lib/features/playground/clean-context.test.ts +++ b/src/lib/features/playground/clean-context.test.ts @@ -1,15 +1,15 @@ import { cleanContext } from './clean-context'; -const invalidJsonTypes = { - object: {}, - array: [], - true: true, - false: false, - number: 123, - null: null, -}; - test('strips invalid context properties from the context', async () => { + const invalidJsonTypes = { + object: {}, + array: [], + true: true, + false: false, + number: 123, + null: null, + }; + const validValues = { appName: 'test', }; @@ -19,7 +19,7 @@ test('strips invalid context properties from the context', async () => { ...validValues, }; - const { context: cleanedContext } = cleanContext(inputContext); + const cleanedContext = cleanContext(inputContext); expect(cleanedContext).toStrictEqual(validValues); }); @@ -29,25 +29,7 @@ test("doesn't add non-existing properties", async () => { appName: 'test', }; - const { context: output } = cleanContext(input); + const output = cleanContext(input); expect(output).toStrictEqual(input); }); - -test('it returns the names of all the properties it removed', async () => { - const { removedProperties } = cleanContext({ - appName: 'test', - ...invalidJsonTypes, - }); - - const invalidProperties = Object.keys(invalidJsonTypes); - - // verify that the two lists contain all the same elements - expect(removedProperties).toEqual( - expect.arrayContaining(invalidProperties), - ); - - expect(invalidProperties).toEqual( - expect.arrayContaining(removedProperties), - ); -}); diff --git a/src/lib/features/playground/clean-context.ts b/src/lib/features/playground/clean-context.ts index e9055fd470..238c0b0960 100644 --- a/src/lib/features/playground/clean-context.ts +++ b/src/lib/features/playground/clean-context.ts @@ -1,26 +1,16 @@ import type { SdkContextSchema } from '../../openapi'; -export const cleanContext = ( - context: SdkContextSchema, -): { context: SdkContextSchema; removedProperties: string[] } => { +export const cleanContext = (context: SdkContextSchema): SdkContextSchema => { const { appName, ...otherContextFields } = context; - const removedProperties: string[] = []; const cleanedContextFields = Object.fromEntries( - Object.entries(otherContextFields).filter(([key, value]) => { - if (key === 'properties' || typeof value === 'string') { - return true; - } - removedProperties.push(key); - return false; - }), + Object.entries(otherContextFields).filter( + ([key, value]) => key === 'properties' || typeof value === 'string', + ), ); return { - context: { - ...cleanedContextFields, - appName, - }, - removedProperties, + ...cleanedContextFields, + appName, }; }; diff --git a/src/lib/features/playground/playground-service.ts b/src/lib/features/playground/playground-service.ts index dd3bc2b17f..1f20632580 100644 --- a/src/lib/features/playground/playground-service.ts +++ b/src/lib/features/playground/playground-service.ts @@ -28,7 +28,6 @@ import type { AdvancedPlaygroundEnvironmentFeatureSchema } from '../../openapi/s import { validateQueryComplexity } from './validateQueryComplexity'; import type { IPrivateProjectChecker } from '../private-project/privateProjectCheckerType'; import { getDefaultVariant } from './feature-evaluator/variant'; -import { cleanContext } from './clean-context'; type EvaluationInput = { features: FeatureConfigurationClient[]; @@ -103,10 +102,7 @@ export class PlaygroundService { context: SdkContextSchema, limit: number, userId: number, - ): Promise<{ - result: AdvancedPlaygroundFeatureEvaluationResult[]; - invalidContextProperties: string[]; - }> { + ): Promise { const segments = await this.segmentReadModel.getActive(); let filteredProjects: typeof projects = projects; @@ -128,10 +124,7 @@ export class PlaygroundService { this.resolveFeatures(filteredProjects, env), ), ); - - const { context: cleanedContext, removedProperties } = - cleanContext(context); - const contexts = generateObjectCombinations(cleanedContext); + const contexts = generateObjectCombinations(context); validateQueryComplexity( environments.length, @@ -156,7 +149,7 @@ export class PlaygroundService { ); const items = results.flat(); const itemsByName = groupBy(items, (item) => item.name); - const result = Object.values(itemsByName).map((entries) => { + return Object.values(itemsByName).map((entries) => { const groupedEnvironments = groupBy( entries, (entry) => entry.environment, @@ -167,11 +160,6 @@ export class PlaygroundService { environments: groupedEnvironments, }; }); - - return { - result, - invalidContextProperties: removedProperties, - }; } private async evaluate({ diff --git a/src/lib/features/playground/playground-view-model.ts b/src/lib/features/playground/playground-view-model.ts index 2b0e7b5f91..8720b9d3cc 100644 --- a/src/lib/features/playground/playground-view-model.ts +++ b/src/lib/features/playground/playground-view-model.ts @@ -40,7 +40,6 @@ const addStrategyEditLink = ( export const advancedPlaygroundViewModel = ( input: AdvancedPlaygroundRequestSchema, playgroundResult: AdvancedPlaygroundFeatureEvaluationResult[], - invalidContextProperties?: string[], ): AdvancedPlaygroundResponseSchema => { const features = playgroundResult.map(({ environments, ...rest }) => { const transformedEnvironments = Object.entries(environments).map(