UNPKG

unleash-server

Version:

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

45 lines 2.55 kB
import memoizee from 'memoizee'; import { type IAddonProviders } from '../addons/index.js'; import type { IFeatureToggleStore } from '../features/feature-toggle/types/feature-toggle-store-type.js'; import type { Logger } from '../logger.js'; import type TagTypeService from '../features/tag-type/tag-type-service.js'; import type { IAddon, IAddonDto, IAddonStore } from '../types/stores/addon-store.js'; import { type IAuditUser, type IUnleashConfig, type IUnleashStores } from '../types/index.js'; import type { IAddonDefinition } from '../types/model.js'; import type EventService from '../features/events/event-service.js'; import type { IntegrationEventsService } from '../features/integration-events/integration-events-service.js'; import { type IEvent } from '../events/index.js'; interface ISensitiveParams { [key: string]: string[]; } export default class AddonService { addonStore: IAddonStore; featureToggleStore: IFeatureToggleStore; logger: Logger; tagTypeService: TagTypeService; eventService: EventService; addonProviders: IAddonProviders; sensitiveParams: ISensitiveParams; fetchAddonConfigs: (() => Promise<IAddon[]>) & memoizee.Memoized<() => Promise<IAddon[]>>; private eventHandlers; constructor({ addonStore, featureToggleStore, }: Pick<IUnleashStores, 'addonStore' | 'featureToggleStore'>, { getLogger, server, flagResolver, eventBus, }: Pick<IUnleashConfig, 'getLogger' | 'server' | 'flagResolver' | 'eventBus'>, tagTypeService: TagTypeService, eventService: EventService, integrationEventsService: IntegrationEventsService, addons?: IAddonProviders); loadSensitiveParams(addonProviders: IAddonProviders): ISensitiveParams; registerEventHandler(): void; handleEvent(eventName: string): (event: IEvent) => Promise<void>; getAddons(): Promise<IAddon[]>; filterSensitiveFields(addonConfig: IAddon): IAddon; getAddon(id: number): Promise<IAddon>; getProviderDefinitions(): IAddonDefinition[]; addTagTypes(providerName: string): Promise<void>; createAddon(data: IAddonDto, auditUser: IAuditUser): Promise<IAddon>; updateAddon(id: number, data: IAddonDto, auditUser: IAuditUser): Promise<IAddon>; removeAddon(id: number, auditUser: IAuditUser): Promise<void>; validateKnownProvider(config: Partial<IAddonDto>): Promise<boolean>; validateRequiredParameters({ provider, parameters, }: { provider: any; parameters: any; }): Promise<boolean>; destroy(): void; } export {}; //# sourceMappingURL=addon-service.d.ts.map