UNPKG

unleash-server

Version:

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

31 lines 1.85 kB
import type { ChangeRequestStrategy } from '../change-request-segment-usage-service/change-request-segment-usage-read-model.js'; import type { UpsertSegmentSchema } from '../../openapi/index.js'; import type { IAuditUser, IFeatureStrategy, ISegment, IUser } from '../../types/index.js'; export type StrategiesUsingSegment = { strategies: IFeatureStrategy[]; changeRequestStrategies: ChangeRequestStrategy[]; }; export interface ISegmentService { updateStrategySegments: (strategyId: string, segmentIds: number[]) => Promise<void>; addToStrategy(id: number, strategyId: string): Promise<void>; getByStrategy(strategyId: string): Promise<ISegment[]>; get(id: number): Promise<ISegment>; /** * Gets all strategies for a segment * This is NOT considering the private projects * For most use cases, use `getVisibleStrategies` */ getAllStrategies(id: number): Promise<StrategiesUsingSegment>; getVisibleStrategies(id: number, userId: number): Promise<StrategiesUsingSegment>; validateName(name: string): Promise<void>; getAll(): Promise<ISegment[]>; create(data: UpsertSegmentSchema, auditUser: IAuditUser): Promise<ISegment>; update(id: number, data: UpsertSegmentSchema, user: Partial<Pick<IUser, 'username' | 'email' | 'id'>>, auditUser: IAuditUser): Promise<void>; unprotectedUpdate(id: number, data: UpsertSegmentSchema, auditUser: IAuditUser): Promise<void>; delete(id: number, user: IUser, auditUser: IAuditUser): Promise<void>; unprotectedDelete(id: number, auditUser: IAuditUser): Promise<void>; removeFromStrategy(id: number, strategyId: string): Promise<void>; cloneStrategySegments(sourceStrategyId: string, targetStrategyId: string): Promise<void>; isInUse(id: number): Promise<boolean>; } //# sourceMappingURL=segment-service-interface.d.ts.map