UNPKG

unleash-server

Version:

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

46 lines 2.77 kB
import type { CreateDependentFeatureSchema } from '../../openapi/index.js'; import type { IDependentFeaturesStore } from './dependent-features-store-type.js'; import type { FeatureDependencyId } from './dependent-features.js'; import type { IDependentFeaturesReadModel } from './dependent-features-read-model-type.js'; import type { EventService } from '../../services/index.js'; import type { IAuditUser, IUser } from '../../types/index.js'; import type { IChangeRequestAccessReadModel } from '../change-request-access-service/change-request-access-read-model.js'; import type { IFeaturesReadModel } from '../feature-toggle/types/features-read-model-type.js'; interface IDependentFeaturesServiceDeps { dependentFeaturesStore: IDependentFeaturesStore; dependentFeaturesReadModel: IDependentFeaturesReadModel; changeRequestAccessReadModel: IChangeRequestAccessReadModel; featuresReadModel: IFeaturesReadModel; eventService: EventService; } export declare class DependentFeaturesService { private dependentFeaturesStore; private dependentFeaturesReadModel; private changeRequestAccessReadModel; private featuresReadModel; private eventService; constructor({ featuresReadModel, dependentFeaturesReadModel, dependentFeaturesStore, eventService, changeRequestAccessReadModel, }: IDependentFeaturesServiceDeps); cloneDependencies({ featureName, newFeatureName, projectId, }: { featureName: string; newFeatureName: string; projectId: string; }, auditUser: IAuditUser): Promise<void>; upsertFeatureDependency({ child, projectId }: { child: string; projectId: string; }, dependentFeature: CreateDependentFeatureSchema, user: IUser, auditUser: IAuditUser): Promise<void>; unprotectedUpsertFeatureDependency({ child, projectId }: { child: string; projectId: string; }, dependentFeature: CreateDependentFeatureSchema, auditUser: IAuditUser): Promise<void>; deleteFeatureDependency(dependency: FeatureDependencyId, projectId: string, user: IUser, auditUser: IAuditUser): Promise<void>; unprotectedDeleteFeatureDependency(dependency: FeatureDependencyId, projectId: string, auditUser: IAuditUser): Promise<void>; deleteFeaturesDependencies(features: string[], projectId: string, user: IUser, auditUser: IAuditUser): Promise<void>; unprotectedDeleteFeaturesDependencies(features: string[], projectId: string, auditUser: IAuditUser): Promise<void>; getPossibleParentFeatures(feature: string): Promise<string[]>; getPossibleParentVariants(parentFeature: string): Promise<string[]>; checkDependenciesExist(): Promise<boolean>; private stopWhenChangeRequestsEnabled; } export {}; //# sourceMappingURL=dependent-features-service.d.ts.map