unleash-server
Version:
Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.
27 lines (26 loc) • 1.37 kB
TypeScript
/// <reference types="node" />
import EventEmitter from 'events';
import { Knex } from 'knex';
import { LogProvider } from '../logger';
import { IClientInstance, IClientInstanceStore, INewClientInstance } from '../types/stores/client-instance-store';
export default class ClientInstanceStore implements IClientInstanceStore {
private db;
private logger;
private eventBus;
private metricTimer;
private timer;
constructor(db: Knex, eventBus: EventEmitter, getLogger: LogProvider);
_removeInstancesOlderThanTwoDays(): Promise<void>;
setLastSeen({ appName, instanceId, environment, clientIp, }: INewClientInstance): Promise<void>;
bulkUpsert(instances: INewClientInstance[]): Promise<void>;
delete({ appName, instanceId, }: Pick<INewClientInstance, 'appName' | 'instanceId'>): Promise<void>;
deleteAll(): Promise<void>;
get({ appName, instanceId, }: Pick<INewClientInstance, 'appName' | 'instanceId'>): Promise<IClientInstance>;
exists({ appName, instanceId, }: Pick<INewClientInstance, 'appName' | 'instanceId'>): Promise<boolean>;
insert(details: INewClientInstance): Promise<void>;
getAll(): Promise<IClientInstance[]>;
getByAppName(appName: string): Promise<IClientInstance[]>;
getDistinctApplications(): Promise<string[]>;
deleteForApplication(appName: string): Promise<void>;
destroy(): void;
}