UNPKG

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
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;