UNPKG

unleash-server

Version:

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

45 lines 3.04 kB
import type { IUnleashConfig } from '../../types/option.js'; import { type IAuditUser, type IUnleashStores } from '../../types/index.js'; import type { ISegment } from '../../types/model.js'; import type User from '../../types/user.js'; import type { ISegmentService, StrategiesUsingSegment } from './segment-service-interface.js'; import type { IChangeRequestAccessReadModel } from '../change-request-access-service/change-request-access-read-model.js'; import type { IPrivateProjectChecker } from '../private-project/privateProjectCheckerType.js'; import type EventService from '../events/event-service.js'; import type { IChangeRequestSegmentUsageReadModel } from '../change-request-segment-usage-service/change-request-segment-usage-read-model.js'; import type { UpsertSegmentSchema } from '../../openapi/index.js'; import type { ResourceLimitsService } from '../resource-limits/resource-limits-service.js'; export declare class SegmentService implements ISegmentService { private segmentStore; private featureStrategiesStore; private changeRequestAccessReadModel; private changeRequestSegmentUsageReadModel; private config; private flagResolver; private eventService; private privateProjectChecker; private resourceLimitsService; constructor({ segmentStore, featureStrategiesStore, }: Pick<IUnleashStores, 'segmentStore' | 'featureStrategiesStore'>, changeRequestAccessReadModel: IChangeRequestAccessReadModel, changeRequestSegmentUsageReadModel: IChangeRequestSegmentUsageReadModel, config: IUnleashConfig, eventService: EventService, privateProjectChecker: IPrivateProjectChecker, resourceLimitsService: ResourceLimitsService); get(id: number): Promise<ISegment>; getAll(): Promise<ISegment[]>; getByStrategy(strategyId: string): Promise<ISegment[]>; getVisibleStrategies(id: number, userId: number): Promise<StrategiesUsingSegment>; getAllStrategies(id: number): Promise<StrategiesUsingSegment>; isInUse(id: number): Promise<boolean>; validateSegmentLimit(): Promise<void>; create(data: unknown, auditUser: IAuditUser): Promise<ISegment>; update(id: number, data: UpsertSegmentSchema, user: User, auditUser: IAuditUser): Promise<void>; unprotectedUpdate(id: number, data: UpsertSegmentSchema, auditUser: IAuditUser): Promise<void>; delete(id: number, user: User, auditUser: IAuditUser): Promise<void>; unprotectedDelete(id: number, auditUser: IAuditUser): Promise<void>; cloneStrategySegments(sourceStrategyId: string, targetStrategyId: string): Promise<void>; addToStrategy(id: number, strategyId: string): Promise<void>; updateStrategySegments(strategyId: string, segmentIds: number[]): Promise<void>; removeFromStrategy(id: number, strategyId: string): Promise<void>; validateName(name: string): Promise<void>; private validateStrategySegmentLimit; private validateSegmentValuesLimit; private validateSegmentProject; private stopWhenChangeRequestsEnabled; } //# sourceMappingURL=segment-service.d.ts.map