unleash-server
Version:
Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.
37 lines (36 loc) • 1.44 kB
TypeScript
import { Knex } from 'knex';
import { LogProvider } from '../logger';
import { IEditableStrategy, IMinimalStrategyRow, IStrategy, IStrategyStore } from '../types/stores/strategy-store';
interface IStrategyRow {
name: string;
built_in: number;
description: string;
parameters: object[];
deprecated: boolean;
display_name: string;
}
export default class StrategyStore implements IStrategyStore {
private db;
private logger;
constructor(db: Knex, getLogger: LogProvider);
getAll(): Promise<IStrategy[]>;
getEditableStrategies(): Promise<IEditableStrategy[]>;
getStrategy(name: string): Promise<IStrategy>;
delete(name: string): Promise<void>;
deleteAll(): Promise<void>;
count(): Promise<number>;
destroy(): void;
exists(name: string): Promise<boolean>;
get(name: string): Promise<IStrategy>;
rowToStrategy(row: IStrategyRow): IStrategy;
rowToEditableStrategy(row: IStrategyRow): IEditableStrategy;
eventDataToRow(data: any): IMinimalStrategyRow;
createStrategy(data: any): Promise<void>;
updateStrategy(data: any): Promise<void>;
deprecateStrategy({ name }: Pick<IStrategy, 'name'>): Promise<void>;
reactivateStrategy({ name }: Pick<IStrategy, 'name'>): Promise<void>;
deleteStrategy({ name }: Pick<IStrategy, 'name'>): Promise<void>;
importStrategy(data: any): Promise<void>;
dropCustomStrategies(): Promise<void>;
}
export {};