UNPKG

unleash-server

Version:

Unleash is an enterprise ready feature toggles service. It provides different strategies for handling feature toggles.

41 lines (40 loc) 1.6 kB
/// <reference types="node" /> import { ISegmentStore } from '../types/stores/segment-store'; import { IConstraint, IFeatureStrategySegment, ISegment } from '../types/model'; import { LogProvider } from '../logger'; import { Knex } from 'knex'; import EventEmitter from 'events'; import { PartialSome } from '../types/partial'; import User from '../types/user'; interface ISegmentRow { id: number; name: string; description?: string; created_by?: string; created_at?: Date; constraints: IConstraint[]; } export default class SegmentStore implements ISegmentStore { private logger; private eventBus; private db; constructor(db: Knex, eventBus: EventEmitter, getLogger: LogProvider); count(): Promise<number>; create(segment: PartialSome<ISegment, 'id'>, user: Partial<Pick<User, 'username' | 'email'>>): Promise<ISegment>; update(id: number, segment: Omit<ISegment, 'id'>): Promise<ISegment>; delete(id: number): Promise<void>; getAll(): Promise<ISegment[]>; getActive(): Promise<ISegment[]>; getByStrategy(strategyId: string): Promise<ISegment[]>; deleteAll(): Promise<void>; exists(id: number): Promise<boolean>; get(id: number): Promise<ISegment>; addToStrategy(id: number, strategyId: string): Promise<void>; removeFromStrategy(id: number, strategyId: string): Promise<void>; getAllFeatureStrategySegments(): Promise<IFeatureStrategySegment[]>; existsByName(name: string): Promise<boolean>; prefixColumns(): string[]; mapRow(row?: ISegmentRow): ISegment; destroy(): void; } export {};