unleash-server
Version:
Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.
40 lines (39 loc) • 1.44 kB
TypeScript
import { Knex } from 'knex';
import { IEvent, IBaseEvent } from '../types/events';
import { LogProvider } from '../logger';
import { IEventStore } from '../types/stores/event-store';
import { ITag } from '../types/model';
import { SearchEventsSchema } from '../openapi/spec/search-events-schema';
import { AnyEventEmitter } from '../util/anyEventEmitter';
export interface IEventTable {
id: number;
type: string;
created_by: string;
created_at: Date;
data?: any;
pre_data?: any;
feature_name?: string;
project?: string;
environment?: string;
tags: ITag[];
}
declare class EventStore extends AnyEventEmitter implements IEventStore {
private db;
private logger;
constructor(db: Knex, getLogger: LogProvider);
store(event: IBaseEvent): Promise<void>;
count(): Promise<number>;
filteredCount(eventSearch: SearchEventsSchema): Promise<number>;
batchStore(events: IBaseEvent[]): Promise<void>;
delete(key: number): Promise<void>;
deleteAll(): Promise<void>;
destroy(): void;
exists(key: number): Promise<boolean>;
get(key: number): Promise<IEvent>;
getAll(query?: Object): Promise<IEvent[]>;
getEvents(query?: Object): Promise<IEvent[]>;
searchEvents(search?: SearchEventsSchema): Promise<IEvent[]>;
rowToEvent(row: IEventTable): IEvent;
eventToDbRow(e: IBaseEvent): Omit<IEventTable, 'id' | 'created_at'>;
}
export default EventStore;