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:
parent
7717a90bfc
commit
59b29b8dfa
@ -206,7 +206,9 @@ export default class FeatureToggleClientStore
|
|||||||
feature.dependencies.push({
|
feature.dependencies.push({
|
||||||
feature: r.parent,
|
feature: r.parent,
|
||||||
enabled: r.parent_enabled,
|
enabled: r.parent_enabled,
|
||||||
variants: r.parent_variants,
|
...(r.parent_enabled
|
||||||
|
? { variants: r.parent_variants }
|
||||||
|
: {}),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
feature.impressionData = r.impression_data;
|
feature.impressionData = r.impression_data;
|
||||||
|
@ -9,6 +9,7 @@ import { featureStrategySchema } from './feature-strategy-schema';
|
|||||||
import { clientFeatureSchema } from './client-feature-schema';
|
import { clientFeatureSchema } from './client-feature-schema';
|
||||||
import { variantSchema } from './variant-schema';
|
import { variantSchema } from './variant-schema';
|
||||||
import { strategyVariantSchema } from './strategy-variant-schema';
|
import { strategyVariantSchema } from './strategy-variant-schema';
|
||||||
|
import { dependentFeatureSchema } from './dependent-feature-schema';
|
||||||
|
|
||||||
export const clientFeaturesSchema = {
|
export const clientFeaturesSchema = {
|
||||||
$id: '#/components/schemas/clientFeaturesSchema',
|
$id: '#/components/schemas/clientFeaturesSchema',
|
||||||
@ -57,6 +58,7 @@ export const clientFeaturesSchema = {
|
|||||||
featureStrategySchema,
|
featureStrategySchema,
|
||||||
strategyVariantSchema,
|
strategyVariantSchema,
|
||||||
variantSchema,
|
variantSchema,
|
||||||
|
dependentFeatureSchema,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
} as const;
|
} as const;
|
||||||
|
@ -76,7 +76,7 @@ export interface IFeatureToggleClient {
|
|||||||
variants: IVariant[];
|
variants: IVariant[];
|
||||||
enabled: boolean;
|
enabled: boolean;
|
||||||
strategies: Omit<IStrategyConfig, 'disabled'>[];
|
strategies: Omit<IStrategyConfig, 'disabled'>[];
|
||||||
dependencies: IDependency[];
|
dependencies?: IDependency[];
|
||||||
impressionData?: boolean;
|
impressionData?: boolean;
|
||||||
lastSeenAt?: Date;
|
lastSeenAt?: Date;
|
||||||
createdAt?: Date;
|
createdAt?: Date;
|
||||||
|
@ -17,7 +17,7 @@ export interface FeatureConfigurationClient {
|
|||||||
stale: boolean;
|
stale: boolean;
|
||||||
strategies: IStrategyConfig[];
|
strategies: IStrategyConfig[];
|
||||||
variants: IVariant[];
|
variants: IVariant[];
|
||||||
dependencies: IDependency[];
|
dependencies?: IDependency[];
|
||||||
}
|
}
|
||||||
export interface IFeatureStrategiesStore
|
export interface IFeatureStrategiesStore
|
||||||
extends Store<IFeatureStrategy, string> {
|
extends Store<IFeatureStrategy, string> {
|
||||||
|
@ -157,7 +157,6 @@ test('returns dependencies', async () => {
|
|||||||
{
|
{
|
||||||
feature: 'featureZ',
|
feature: 'featureZ',
|
||||||
enabled: false,
|
enabled: false,
|
||||||
variants: [],
|
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user