unleash-server
Version:
Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.
35 lines (34 loc) • 1.9 kB
TypeScript
import Controller from '../../controller';
import { IUnleashConfig } from '../../../types/option';
import { IUnleashServices } from '../../../types';
import { Request, Response } from 'express';
import { Operation } from 'fast-json-patch';
import { IVariant } from '../../../types/model';
import { IAuthRequest } from '../../unleash-types';
import { FeatureVariantsSchema } from '../../../openapi/spec/feature-variants-schema';
interface FeatureEnvironmentParams extends FeatureParams {
environment: string;
}
interface FeatureParams extends ProjectParam {
featureName: string;
}
interface ProjectParam {
projectId: string;
}
export default class VariantsController extends Controller {
private logger;
private featureService;
constructor(config: IUnleashConfig, { featureToggleService, openApiService, }: Pick<IUnleashServices, 'featureToggleService' | 'openApiService'>);
/**
* @deprecated - Variants should be fetched from featureService.getVariantsForEnv (since variants are now; since 4.18, connected to environments)
* @param req
* @param res
*/
getVariants(req: Request<FeatureParams, any, any, any>, res: Response<FeatureVariantsSchema>): Promise<void>;
patchVariants(req: IAuthRequest<FeatureParams, any, Operation[]>, res: Response<FeatureVariantsSchema>): Promise<void>;
overwriteVariants(req: IAuthRequest<FeatureParams, any, IVariant[], any>, res: Response<FeatureVariantsSchema>): Promise<void>;
getVariantsOnEnv(req: Request<FeatureEnvironmentParams, any, any, any>, res: Response<FeatureVariantsSchema>): Promise<void>;
patchVariantsOnEnv(req: IAuthRequest<FeatureEnvironmentParams, any, Operation[]>, res: Response<FeatureVariantsSchema>): Promise<void>;
overwriteVariantsOnEnv(req: IAuthRequest<FeatureEnvironmentParams, any, IVariant[], any>, res: Response<FeatureVariantsSchema>): Promise<void>;
}
export {};