unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
38 lines • 1.55 kB
TypeScript
import type { LogProvider } from '../logger.js';
import type { IEditableStrategy, IMinimalStrategyRow, IStrategy, IStrategyImport, IStrategyStore } from '../types/stores/strategy-store.js';
import type { Db } from './db.js';
interface IStrategyRow {
title: string;
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: Db, 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: IStrategyImport): Promise<void>;
dropCustomStrategies(): Promise<void>;
}
export {};
//# sourceMappingURL=strategy-store.d.ts.map