UNPKG

unleash-server

Version:

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

1,105 lines • 29.4 kB
import type { FeatureToggle, IEnvironment, IProject, IStrategyConfig, IVariant } from './model.js'; import type { IApiToken } from './model.js'; import type { IAuditUser, IUserWithRootRole } from './user.js'; import type { ITagType } from '../features/tag-type/tag-type-store-type.js'; import type { IFeatureAndTag } from './stores/feature-tag-store.js'; import { type IBaseEvent, type IEventType } from '../events/index.js'; import type { ITag } from '../tags/index.js'; import type { IClientApplication } from './stores/client-applications-store.js'; export declare class BaseEvent implements IBaseEvent { readonly type: IEventType; readonly createdBy: string; readonly createdByUserId: number; readonly ip: string; /** * @param type the type of the event we're creating. * @param auditUser User info used to track which user performed the action. Includes username (email or username), userId and ip */ constructor(type: IEventType, auditUser: IAuditUser); } export declare class FeatureStaleEvent extends BaseEvent { readonly project: string; readonly featureName: string; constructor(p: { stale: boolean; project: string; featureName: string; auditUser: IAuditUser; }); } export declare class FeatureEnvironmentEvent extends BaseEvent { readonly project: string; readonly featureName: string; readonly environment: string; constructor(p: { enabled: boolean; project: string; featureName: string; environment: string; auditUser: IAuditUser; }); } export type StrategyIds = { strategyIds: string[]; }; export declare class StrategiesOrderChangedEvent extends BaseEvent { readonly project: string; readonly featureName: string; readonly environment: string; readonly data: StrategyIds; readonly preData: StrategyIds; constructor(p: { project: string; featureName: string; environment: string; data: StrategyIds; preData: StrategyIds; auditUser: IAuditUser; }); } export declare class FeatureVariantEvent extends BaseEvent { readonly project: string; readonly featureName: string; readonly data: { variants: IVariant[]; }; readonly preData: { variants: IVariant[]; }; constructor(p: { project: string; featureName: string; newVariants: IVariant[]; oldVariants: IVariant[]; auditUser: IAuditUser; }); } export declare class EnvironmentVariantEvent extends BaseEvent { readonly project: string; readonly environment: string; readonly featureName: string; readonly data: { variants: IVariant[]; }; readonly preData: { variants: IVariant[]; }; /** */ constructor(p: { featureName: string; environment: string; project: string; newVariants: IVariant[]; oldVariants: IVariant[]; auditUser: IAuditUser; }); } export declare class ProjectCreatedEvent extends BaseEvent { readonly project: string; readonly data: any; constructor(eventData: { data: any; project: string; auditUser: IAuditUser; }); } export declare class ProjectUpdatedEvent extends BaseEvent { readonly project: string; readonly data: any; readonly preData: any; constructor(eventData: { data: any; preData: any; project: string; auditUser: IAuditUser; }); } export declare class ProjectDeletedEvent extends BaseEvent { readonly project: string; constructor(eventData: { project: string; auditUser: IAuditUser; }); } export declare class ProjectArchivedEvent extends BaseEvent { readonly project: string; constructor(eventData: { project: string; auditUser: IAuditUser; }); } export declare class ProjectRevivedEvent extends BaseEvent { readonly project: string; constructor(eventData: { project: string; auditUser: IAuditUser; }); } export declare class RoleUpdatedEvent extends BaseEvent { readonly data: any; readonly preData: any; constructor(eventData: { auditUser: IAuditUser; data: any; preData: any; }); } export declare class FeatureChangeProjectEvent extends BaseEvent { readonly project: string; readonly featureName: string; readonly data: { oldProject: string; newProject: string; }; constructor(p: { oldProject: string; newProject: string; featureName: string; auditUser: IAuditUser; }); } export declare class FeatureCreatedEvent extends BaseEvent { readonly project: string; readonly featureName: string; readonly data: FeatureToggle; constructor(p: { project: string; featureName: string; data: FeatureToggle; auditUser: IAuditUser; }); } export declare class ProjectImport extends BaseEvent { readonly data: IProject; constructor(p: { project: IProject; auditUser: IAuditUser; }); } export declare class FeatureImport extends BaseEvent { readonly data: any; constructor(p: { feature: any; auditUser: IAuditUser; }); } export declare class StrategyImport extends BaseEvent { readonly data: any; constructor(p: { strategy: any; auditUser: IAuditUser; }); } export declare class EnvironmentImport extends BaseEvent { readonly data: IEnvironment; constructor(p: { env: IEnvironment; auditUser: IAuditUser; }); } export declare class TagTypeImport extends BaseEvent { readonly data: ITagType; constructor(p: { tagType: ITagType; auditUser: IAuditUser; }); } export declare class TagImport extends BaseEvent { readonly data: ITag; constructor(p: { tag: ITag; auditUser: IAuditUser; }); } export declare class FeatureTagImport extends BaseEvent { readonly data: IFeatureAndTag; constructor(p: { featureTag: IFeatureAndTag; auditUser: IAuditUser; }); } export type FeatureLifecycleCompleted = { kept: boolean; status: 'kept' | 'discarded'; statusValue?: string; }; export declare class FeatureCompletedEvent extends BaseEvent { readonly featureName: string; readonly data: FeatureLifecycleCompleted; readonly project: string; constructor(p: { project: string; featureName: string; data: FeatureLifecycleCompleted; auditUser: IAuditUser; }); } export declare class FeatureUncompletedEvent extends BaseEvent { readonly featureName: string; readonly project: string; constructor(p: { featureName: string; auditUser: IAuditUser; project: string; }); } export declare class FeatureUpdatedEvent extends BaseEvent { readonly data: any; readonly featureName: string; readonly project: string; constructor(eventData: { project: string; featureName: string; data: any; auditUser: IAuditUser; }); } export declare class FeatureTaggedEvent extends BaseEvent { readonly data: any; readonly featureName: string; readonly project: string; constructor(eventData: { project: string; featureName: string; data: any; auditUser: IAuditUser; }); } export declare class FeatureTypeUpdatedEvent extends BaseEvent { readonly data: any; readonly preData: any; constructor(eventData: { data: any; preData: any; auditUser: IAuditUser; }); } export declare class FeatureDependencyAddedEvent extends BaseEvent { readonly project: string; readonly featureName: string; readonly data: any; constructor(eventData: { project: string; featureName: string; auditUser: IAuditUser; data: any; }); } export declare class FeatureDependencyRemovedEvent extends BaseEvent { readonly project: string; readonly featureName: string; readonly data: any; constructor(eventData: { project: string; featureName: string; auditUser: IAuditUser; data: any; }); } export declare class FeatureDependenciesRemovedEvent extends BaseEvent { readonly project: string; readonly featureName: string; constructor(eventData: { project: string; featureName: string; auditUser: IAuditUser; }); } export declare class FeaturesImportedEvent extends BaseEvent { readonly project: string; readonly environment: string; constructor(eventData: { project: string; environment: string; auditUser: IAuditUser; }); } export declare class FeatureArchivedEvent extends BaseEvent { readonly project: string; readonly featureName: string; constructor(p: { project: string; featureName: string; auditUser: IAuditUser; }); } export declare class FeatureRevivedEvent extends BaseEvent { readonly project: string; readonly featureName: string; /** */ constructor(p: { project: string; featureName: string; auditUser: IAuditUser; }); } export declare class FeatureDeletedEvent extends BaseEvent { readonly project: string; readonly featureName: string; readonly preData: FeatureToggle; readonly tags: ITag[]; /** */ constructor(p: { project: string; featureName: string; preData: FeatureToggle; tags: ITag[]; auditUser: IAuditUser; }); } export declare class FeatureMetadataUpdateEvent extends BaseEvent { readonly project: string; readonly featureName: string; readonly data: FeatureToggle; readonly preData: FeatureToggle; /** */ constructor(p: { featureName: string; project: string; data: FeatureToggle; preData: FeatureToggle; auditUser: IAuditUser; }); } export declare class FeatureLinkAddedEvent extends BaseEvent { readonly project: string; readonly featureName: string; readonly data: { url: string; title?: string; }; readonly preData: null; constructor(p: { featureName: string; project: string; data: { url: string; title?: string; }; auditUser: IAuditUser; }); } export declare class FeatureLinkUpdatedEvent extends BaseEvent { readonly project: string; readonly featureName: string; readonly data: { url: string; title?: string; }; readonly preData: { url: string; title?: string; }; constructor(p: { featureName: string; project: string; data: { url: string; title?: string; }; preData: { url: string; title?: string; }; auditUser: IAuditUser; }); } export declare class FeatureLinkRemovedEvent extends BaseEvent { readonly project: string; readonly featureName: string; readonly preData: { url: string; title?: string; }; readonly data: null; constructor(p: { featureName: string; project: string; preData: { url: string; title?: string; }; auditUser: IAuditUser; }); } export declare class FeatureStrategyAddEvent extends BaseEvent { readonly project: string; readonly featureName: string; readonly environment: string; readonly data: IStrategyConfig; /** */ constructor(p: { project: string; featureName: string; environment: string; data: IStrategyConfig; auditUser: IAuditUser; }); } export declare class FeatureStrategyUpdateEvent extends BaseEvent { readonly project: string; readonly featureName: string; readonly environment: string; readonly data: IStrategyConfig; readonly preData: IStrategyConfig; /** */ constructor(p: { project: string; featureName: string; environment: string; data: IStrategyConfig; preData: IStrategyConfig; auditUser: IAuditUser; }); } export declare class FeatureStrategyRemoveEvent extends BaseEvent { readonly project: string; readonly featureName: string; readonly environment: string; readonly preData: IStrategyConfig; constructor(p: { project: string; featureName: string; environment: string; preData: IStrategyConfig; auditUser: IAuditUser; }); } export declare class FeatureFavoritedEvent extends BaseEvent { readonly featureName: string; readonly data: any; constructor(eventData: { featureName: string; data: any; auditUser: IAuditUser; }); } export declare class ProjectFavoritedEvent extends BaseEvent { readonly project: string; readonly data: any; constructor(eventData: { project: string; data: any; auditUser: IAuditUser; }); } export declare class FeatureUnfavoritedEvent extends BaseEvent { readonly featureName: string; readonly data: any; constructor(eventData: { featureName: string; data: any; auditUser: IAuditUser; }); } export declare class ProjectUnfavoritedEvent extends BaseEvent { readonly project: string; readonly data: any; constructor(eventData: { project: string; data: any; auditUser: IAuditUser; }); } export declare class ProjectUserAddedEvent extends BaseEvent { readonly project: string; readonly data: any; readonly preData: any; /** */ constructor(p: { project: string; data: any; auditUser: IAuditUser; }); } export declare class ProjectUserRemovedEvent extends BaseEvent { readonly project: string; readonly data: any; readonly preData: any; constructor(p: { project: string; preData: any; auditUser: IAuditUser; }); } export declare class ProjectUserUpdateRoleEvent extends BaseEvent { readonly project: string; readonly data: any; readonly preData: any; constructor(eventData: { project: string; data: any; preData: any; auditUser: IAuditUser; }); } export declare class ProjectGroupAddedEvent extends BaseEvent { readonly project: string; readonly data: any; readonly preData: any; constructor(p: { project: string; data: any; auditUser: IAuditUser; }); } export declare class ProjectAccessAddedEvent extends BaseEvent { readonly project: string; readonly data: any; readonly preData: any; constructor(p: { project: string; data: any; auditUser: IAuditUser; }); } export declare class ProjectAccessUserRolesUpdated extends BaseEvent { readonly project: string; readonly data: any; readonly preData: any; constructor(p: { project: string; data: any; preData: any; auditUser: IAuditUser; }); } export declare class ProjectAccessGroupRolesUpdated extends BaseEvent { readonly project: string; readonly data: any; readonly preData: any; constructor(p: { project: string; data: any; preData: any; auditUser: IAuditUser; }); } export declare class GroupUserRemoved extends BaseEvent { readonly preData: any; constructor(p: { userId: number; groupId: number; auditUser: IAuditUser; }); } export declare class GroupUserAdded extends BaseEvent { readonly data: any; constructor(p: { userId: number; groupId: number; auditUser: IAuditUser; }); } export declare class ProjectAccessUserRolesDeleted extends BaseEvent { readonly project: string; readonly data: null; readonly preData: any; constructor(p: { project: string; preData: any; auditUser: IAuditUser; }); } export declare class ProjectAccessGroupRolesDeleted extends BaseEvent { readonly project: string; readonly data: null; readonly preData: any; constructor(p: { project: string; preData: any; auditUser: IAuditUser; }); } export declare class SettingCreatedEvent extends BaseEvent { readonly data: any; constructor(eventData: { data: any; auditUser: IAuditUser; }); } export declare class SettingDeletedEvent extends BaseEvent { readonly data: any; constructor(eventData: { data: any; auditUser: IAuditUser; }); } export declare class SettingUpdatedEvent extends BaseEvent { readonly data: any; readonly preData: any; constructor(eventData: { data: any; auditUser: IAuditUser; }, preData: any); } export declare class PublicSignupTokenCreatedEvent extends BaseEvent { readonly data: any; constructor(eventData: { data: any; auditUser: IAuditUser; }); } export declare class PublicSignupTokenUpdatedEvent extends BaseEvent { readonly data: any; constructor(eventData: { data: any; auditUser: IAuditUser; }); } export declare class PublicSignupTokenUserAddedEvent extends BaseEvent { readonly data: any; constructor(eventData: { data: any; auditUser: IAuditUser; }); } export declare class ApiTokenCreatedEvent extends BaseEvent { readonly data: any; readonly environment: string; readonly project: string; constructor(eventData: { apiToken: Omit<IApiToken, 'secret'>; auditUser: IAuditUser; }); } export declare class ApiTokenDeletedEvent extends BaseEvent { readonly preData: any; readonly environment: string; readonly project: string; constructor(eventData: { apiToken: Omit<IApiToken, 'secret'>; auditUser: IAuditUser; }); } export declare class ApiTokenUpdatedEvent extends BaseEvent { readonly preData: any; readonly data: any; readonly environment: string; readonly project: string; constructor(eventData: { previousToken: Omit<IApiToken, 'secret'>; apiToken: Omit<IApiToken, 'secret'>; auditUser: IAuditUser; }); } export declare class PotentiallyStaleOnEvent extends BaseEvent { readonly featureName: string; readonly project: string; constructor(eventData: { featureName: string; project: string; auditUser: IAuditUser; }); } export declare class UserCreatedEvent extends BaseEvent { readonly data: IUserEventData; constructor(eventData: { userCreated: IUserEventData; auditUser: IAuditUser; }); } export declare class UserUpdatedEvent extends BaseEvent { readonly data: IUserEventData; readonly preData: IUserEventData; constructor(eventData: { preUser: IUserEventData; postUser: IUserEventData; auditUser: IAuditUser; }); } export declare class UserDeletedEvent extends BaseEvent { readonly preData: IUserEventData; constructor(eventData: { deletedUser: IUserEventData; auditUser: IAuditUser; }); } export declare class ScimUsersDeleted extends BaseEvent { readonly data: any; constructor(eventData: { data: any; auditUser: IAuditUser; }); } export declare class ScimGroupsDeleted extends BaseEvent { readonly data: any; constructor(eventData: { data: any; auditUser: IAuditUser; }); } export declare class TagTypeCreatedEvent extends BaseEvent { readonly data: any; constructor(eventData: { auditUser: IAuditUser; data: any; }); } export declare class TagTypeDeletedEvent extends BaseEvent { readonly preData: any; constructor(eventData: { auditUser: IAuditUser; preData: any; }); } export declare class TagTypeUpdatedEvent extends BaseEvent { readonly data: any; constructor(eventData: { auditUser: IAuditUser; data: any; }); } export declare class TagCreatedEvent extends BaseEvent { readonly data: any; constructor(eventData: { auditUser: IAuditUser; data: any; }); } export declare class TagDeletedEvent extends BaseEvent { readonly data: any; constructor(eventData: { auditUser: IAuditUser; data: any; }); } export declare class PatCreatedEvent extends BaseEvent { readonly data: any; constructor(eventData: { auditUser: IAuditUser; data: any; }); } export declare class PatDeletedEvent extends BaseEvent { readonly data: any; constructor(eventData: { auditUser: IAuditUser; data: any; }); } export declare class ProjectEnvironmentAdded extends BaseEvent { readonly project: string; readonly environment: string; constructor(eventData: { project: string; environment: string; auditUser: IAuditUser; }); } export declare class ProjectEnvironmentRemoved extends BaseEvent { readonly project: string; readonly environment: string; constructor(eventData: { project: string; environment: string; auditUser: IAuditUser; }); } export declare class FeaturesExportedEvent extends BaseEvent { readonly data: any; constructor(eventData: { auditUser: IAuditUser; data: any; }); } export declare class DropProjectsEvent extends BaseEvent { readonly data: any; constructor(eventData: { auditUser: IAuditUser; }); } export declare class DropFeaturesEvent extends BaseEvent { readonly data: any; constructor(eventData: { auditUser: IAuditUser; }); } export declare class DropStrategiesEvent extends BaseEvent { readonly data: any; constructor(eventData: { auditUser: IAuditUser; }); } export declare class DropEnvironmentsEvent extends BaseEvent { readonly data: any; constructor(eventData: { auditUser: IAuditUser; }); } export declare class DropFeatureTagsEvent extends BaseEvent { readonly data: any; constructor(eventData: { auditUser: IAuditUser; }); } export declare class DropTagsEvent extends BaseEvent { readonly data: any; constructor(eventData: { auditUser: IAuditUser; }); } export declare class DropTagTypesEvent extends BaseEvent { readonly data: any; constructor(eventData: { auditUser: IAuditUser; }); } export declare class RoleCreatedEvent extends BaseEvent { readonly data: any; constructor(eventData: { data: any; auditUser: IAuditUser; }); } export declare class RoleDeletedEvent extends BaseEvent { readonly preData: any; constructor(eventData: { preData: any; auditUser: IAuditUser; }); } export declare class StrategyCreatedEvent extends BaseEvent { readonly data: any; constructor(eventData: { data: any; auditUser: IAuditUser; }); } export declare class StrategyUpdatedEvent extends BaseEvent { readonly data: any; constructor(eventData: { data: any; auditUser: IAuditUser; }); } export declare class StrategyDeletedEvent extends BaseEvent { readonly data: any; constructor(eventData: { data: any; auditUser: IAuditUser; }); } export declare class StrategyDeprecatedEvent extends BaseEvent { readonly data: any; constructor(eventData: { data: any; auditUser: IAuditUser; }); } export declare class StrategyReactivatedEvent extends BaseEvent { readonly data: any; constructor(eventData: { data: any; auditUser: IAuditUser; }); } export declare class DefaultStrategyUpdatedEvent extends BaseEvent { readonly project: string; readonly environment: string; readonly preData: any; readonly data: any; constructor(eventData: { project: string; environment: string; auditUser: IAuditUser; preData: any; data: any; }); } export declare class AddonConfigCreatedEvent extends BaseEvent { readonly data: any; constructor(eventData: { auditUser: IAuditUser; data: any; }); } export declare class AddonConfigUpdatedEvent extends BaseEvent { readonly data: any; readonly preData: any; constructor(eventData: { auditUser: IAuditUser; data: any; preData: any; }); } export declare class AddonConfigDeletedEvent extends BaseEvent { readonly preData: any; constructor(eventData: { auditUser: IAuditUser; preData: any; }); } export declare class SegmentCreatedEvent extends BaseEvent { readonly project: string | undefined; readonly data: any; constructor(eventData: { auditUser: IAuditUser; project: string | undefined; data: any; }); } export declare class SegmentUpdatedEvent extends BaseEvent { readonly data: any; readonly preData: any; readonly project: string; constructor(eventData: { auditUser: IAuditUser; project: string; data: any; preData: any; }); } export declare class SegmentDeletedEvent extends BaseEvent { readonly preData: any; readonly project?: string; constructor(eventData: { auditUser: IAuditUser; preData: any; project?: string; }); } export declare class GroupUpdatedEvent extends BaseEvent { readonly preData: any; readonly data: any; constructor(eventData: { data: any; preData: any; auditUser: IAuditUser; }); } export declare class GroupDeletedEvent extends BaseEvent { readonly preData: any; constructor(eventData: { preData: any; auditUser: IAuditUser; }); } export declare class MilestoneProgressionDeletedEvent extends BaseEvent { readonly project: string; readonly environment: string; readonly featureName: string; readonly preData: any; constructor(eventData: { project: string; environment: string; featureName: string; preData: any; auditUser: IAuditUser; }); } export declare class MilestoneProgressionChangedEvent extends BaseEvent { readonly project: string; readonly environment: string; readonly featureName: string; readonly preData: any; readonly data: any; constructor(eventData: { project: string; environment: string; featureName: string; data: any; preData?: any; auditUser: IAuditUser; }); } export declare class ReleasePlanTemplateCreatedEvent extends BaseEvent { readonly data: any; constructor(eventData: { data: any; auditUser: IAuditUser; }); } export declare class ReleasePlanTemplateUpdatedEvent extends BaseEvent { readonly preData: any; readonly data: any; constructor(eventData: { data: any; preData: any; auditUser: IAuditUser; }); } export declare class ReleasePlanTemplateDeletedEvent extends BaseEvent { readonly preData: any; constructor(eventData: { preData: any; auditUser: IAuditUser; }); } export declare class ReleasePlanTemplateArchivedEvent extends BaseEvent { readonly preData: any; readonly data: any; constructor(eventData: { data: any; preData: any; auditUser: IAuditUser; }); } export declare class ReleasePlanAddedEvent extends BaseEvent { readonly project: string; readonly featureName: string; readonly environment: string; readonly data: any; constructor(eventData: { project: string; featureName: string; environment: string; data: any; auditUser: IAuditUser; }); } export declare class ReleasePlanRemovedEvent extends BaseEvent { readonly project: string; readonly featureName: string; readonly environment: string; readonly preData: any; constructor(eventData: { project: string; featureName: string; environment: string; preData: any; auditUser: IAuditUser; }); } export declare class ReleasePlanMilestoneStartedEvent extends BaseEvent { readonly project: string; readonly featureName: string; readonly environment: string; readonly preData: any; readonly data: any; constructor(eventData: { project: string; featureName: string; environment: string; preData: any; data: any; auditUser: IAuditUser; }); } export declare class ApplicationCreatedEvent extends BaseEvent { readonly data: IClientApplication; constructor(eventData: { data: IClientApplication; auditUser: IAuditUser; }); } interface IUserEventData extends Pick<IUserWithRootRole, 'id' | 'name' | 'username' | 'email' | 'rootRole'> { } export declare class UserPreferenceUpdatedEvent extends BaseEvent { readonly userId: any; readonly data: any; constructor(eventData: { userId: number; data: any; auditUser: IAuditUser; }); } export {}; //# sourceMappingURL=events.d.ts.map