unleash-server
Version:
Unleash is an enterprise ready feature flag service. It provides different strategies for handling feature flags.
22 lines • 1.81 kB
TypeScript
import type { ReleasePlanMilestoneStrategy } from './release-plan-milestone-strategy.js';
import { CRUDStore, type CrudStoreConfig } from '../../db/crud/crud-store.js';
import type { Row } from '../../db/crud/row-type.js';
import type { Db } from '../../db/db.js';
import type { MilestoneStrategyConfigUpdate } from '../../types/index.js';
import type { Store } from '../../types/stores/store.js';
export type ReleasePlanMilestoneStrategyWriteModel = Omit<ReleasePlanMilestoneStrategy, 'id' | 'strategyName'>;
export interface IReleasePlanMilestoneStrategyStore extends Store<ReleasePlanMilestoneStrategy, string> {
insert(item: ReleasePlanMilestoneStrategyWriteModel): Promise<ReleasePlanMilestoneStrategy>;
update(id: string, item: Partial<ReleasePlanMilestoneStrategyWriteModel>): Promise<ReleasePlanMilestoneStrategy>;
upsert(id: string, updates: Partial<MilestoneStrategyConfigUpdate>): Promise<ReleasePlanMilestoneStrategy>;
deleteStrategiesForMilestone(milestoneId: string): Promise<void>;
}
export declare class ReleasePlanMilestoneStrategyStore extends CRUDStore<ReleasePlanMilestoneStrategy, ReleasePlanMilestoneStrategyWriteModel, Row<ReleasePlanMilestoneStrategy>, ReleasePlanMilestoneStrategy, string> implements IReleasePlanMilestoneStrategyStore {
constructor(db: Db, config: CrudStoreConfig);
get(id: string): Promise<ReleasePlanMilestoneStrategy>;
insert({ segments, ...strategy }: ReleasePlanMilestoneStrategyWriteModel): Promise<ReleasePlanMilestoneStrategy>;
private updateStrategy;
upsert(strategyId: string, { segments, ...strategy }: Partial<MilestoneStrategyConfigUpdate>): Promise<ReleasePlanMilestoneStrategy>;
deleteStrategiesForMilestone(milestoneId: string): Promise<void>;
}
//# sourceMappingURL=release-plan-milestone-strategy-store.d.ts.map