1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-08-18 13:48:58 +02:00

feat: dependent features client api

This commit is contained in:
kwasniew 2023-09-19 14:57:27 +02:00
parent 7717a90bfc
commit 59b29b8dfa
No known key found for this signature in database
GPG Key ID: 43A7CBC24C119560
5 changed files with 7 additions and 4 deletions

View File

@ -206,7 +206,9 @@ export default class FeatureToggleClientStore
feature.dependencies.push({
feature: r.parent,
enabled: r.parent_enabled,
variants: r.parent_variants,
...(r.parent_enabled
? { variants: r.parent_variants }
: {}),
});
}
feature.impressionData = r.impression_data;

View File

@ -9,6 +9,7 @@ import { featureStrategySchema } from './feature-strategy-schema';
import { clientFeatureSchema } from './client-feature-schema';
import { variantSchema } from './variant-schema';
import { strategyVariantSchema } from './strategy-variant-schema';
import { dependentFeatureSchema } from './dependent-feature-schema';
export const clientFeaturesSchema = {
$id: '#/components/schemas/clientFeaturesSchema',
@ -57,6 +58,7 @@ export const clientFeaturesSchema = {
featureStrategySchema,
strategyVariantSchema,
variantSchema,
dependentFeatureSchema,
},
},
} as const;

View File

@ -76,7 +76,7 @@ export interface IFeatureToggleClient {
variants: IVariant[];
enabled: boolean;
strategies: Omit<IStrategyConfig, 'disabled'>[];
dependencies: IDependency[];
dependencies?: IDependency[];
impressionData?: boolean;
lastSeenAt?: Date;
createdAt?: Date;

View File

@ -17,7 +17,7 @@ export interface FeatureConfigurationClient {
stale: boolean;
strategies: IStrategyConfig[];
variants: IVariant[];
dependencies: IDependency[];
dependencies?: IDependency[];
}
export interface IFeatureStrategiesStore
extends Store<IFeatureStrategy, string> {

View File

@ -157,7 +157,6 @@ test('returns dependencies', async () => {
{
feature: 'featureZ',
enabled: false,
variants: [],
},
],
});