unleash-server
Version:
Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.
26 lines (25 loc) • 1.3 kB
TypeScript
import { Response } from 'express';
import Controller from '../controller';
import { IUnleashConfig, IUnleashServices } from '../../types';
import { IAuthRequest } from '../unleash-types';
import { ClientFeaturesQuerySchema } from '../../openapi/spec/client-features-query-schema';
import { ClientFeatureSchema } from '../../openapi/spec/client-feature-schema';
import { ClientFeaturesSchema } from '../../openapi/spec/client-features-schema';
export default class FeatureController extends Controller {
private readonly logger;
private featureToggleServiceV2;
private segmentService;
private clientSpecService;
private openApiService;
private readonly cache;
private cachedFeatures;
constructor({ featureToggleServiceV2, segmentService, clientSpecService, openApiService, }: Pick<IUnleashServices, 'featureToggleServiceV2' | 'segmentService' | 'clientSpecService' | 'openApiService'>, config: IUnleashConfig);
private resolveFeaturesAndSegments;
private resolveQuery;
private paramToArray;
private prepQuery;
getAll(req: IAuthRequest, res: Response<ClientFeaturesSchema>): Promise<void>;
getFeatureToggle(req: IAuthRequest<{
featureName: string;
}, ClientFeaturesQuerySchema>, res: Response<ClientFeatureSchema>): Promise<void>;
}