unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
32 lines • 1.9 kB
TypeScript
import Controller from '../../controller.js';
import type { IUnleashConfig } from '../../../types/option.js';
import type { IUnleashServices } from '../../../services/index.js';
import type { Request, Response } from 'express';
import type { Operation } from 'fast-json-patch';
import { type IVariant } from '../../../types/model.js';
import type { IAuthRequest } from '../../unleash-types.js';
import type { FeatureVariantsSchema } from '../../../openapi/spec/feature-variants-schema.js';
import type { IUser } from '../../../types/index.js';
import type { PushVariantsSchema } from '../../../openapi/spec/push-variants-schema.js';
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;
private accessService;
constructor(config: IUnleashConfig, { featureToggleService, openApiService, accessService, }: Pick<IUnleashServices, 'featureToggleService' | 'openApiService' | 'accessService'>);
pushVariantsToEnvironments(req: IAuthRequest<FeatureEnvironmentParams, any, PushVariantsSchema, any>, res: Response<FeatureVariantsSchema>): Promise<void>;
checkAccess(user: IUser, projectId: string, environments: string[], permission: string): 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 {};
//# sourceMappingURL=variants.d.ts.map