unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
36 lines • 1.86 kB
TypeScript
import type EventEmitter from 'events';
import type { Db } from '../../db/db.js';
import type { IEnvironment, IEnvironmentCreate, IProjectEnvironment } from '../../types/model.js';
import type { IEnvironmentStore } from './environment-store-type.js';
import type { IUnleashConfig } from '../../types/index.js';
export default class EnvironmentStore implements IEnvironmentStore {
private logger;
private flagResolver;
private db;
private isOss;
private timer;
constructor(db: Db, eventBus: EventEmitter, { getLogger, isOss, flagResolver, }: Pick<IUnleashConfig, 'getLogger' | 'isOss' | 'flagResolver'>);
importEnvironments(environments: IEnvironment[]): Promise<IEnvironment[]>;
deleteAll(): Promise<void>;
count(): Promise<number>;
getMaxSortOrder(): Promise<number>;
get(key: string): Promise<IEnvironment>;
getAll(query?: Object): Promise<IEnvironment[]>;
getAllWithCounts(query?: Object): Promise<IEnvironment[]>;
getChangeRequestEnvironments(environments: string[]): Promise<{
name: string;
requiredApprovals: number;
}[]>;
getProjectEnvironments(projectId: string, query?: Object): Promise<IProjectEnvironment[]>;
exists(name: string): Promise<boolean>;
updateProperty(id: string, field: string, value: string | number): Promise<void>;
updateSortOrder(id: string, value: number): Promise<void>;
toggle(name: string, enabled: boolean): Promise<void>;
update(env: Pick<IEnvironment, 'type' | 'protected' | 'requiredApprovals'>, name: string): Promise<IEnvironment>;
create(env: IEnvironmentCreate): Promise<IEnvironment>;
disable(environments: IEnvironment[]): Promise<void>;
enable(environments: IEnvironment[]): Promise<void>;
delete(name: string): Promise<void>;
destroy(): void;
}
//# sourceMappingURL=environment-store.d.ts.map