UNPKG

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
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>; }