unleash-server
Version:
Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.
28 lines (27 loc) • 1.46 kB
TypeScript
import { IUnleashConfig } from '../types/option';
import { IUnleashStores } from '../types';
import { IFeatureStrategy, ISegment } from '../types/model';
import User from '../types/user';
export declare class SegmentService {
private logger;
private segmentStore;
private featureStrategiesStore;
private eventStore;
private config;
constructor({ segmentStore, featureStrategiesStore, eventStore, }: Pick<IUnleashStores, 'segmentStore' | 'featureStrategiesStore' | 'eventStore'>, config: IUnleashConfig);
get(id: number): Promise<ISegment>;
getAll(): Promise<ISegment[]>;
getActive(): Promise<ISegment[]>;
getByStrategy(strategyId: string): Promise<ISegment[]>;
getStrategies(id: number): Promise<IFeatureStrategy[]>;
create(data: unknown, user: Partial<Pick<User, 'username' | 'email'>>): Promise<ISegment>;
update(id: number, data: unknown, user: Partial<Pick<User, 'username' | 'email'>>): Promise<void>;
delete(id: number, user: User): Promise<void>;
cloneStrategySegments(sourceStrategyId: string, targetStrategyId: string): Promise<void>;
addToStrategy(id: number, strategyId: string): Promise<void>;
updateStrategySegments(strategyId: string, segmentIds: number[]): Promise<void>;
removeFromStrategy(id: number, strategyId: string): Promise<void>;
validateName(name: string): Promise<void>;
private validateStrategySegmentLimit;
private validateSegmentValuesLimit;
}