UNPKG

unleash-server

Version:

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

857 lines • 29.4 kB
import { ADDON_CONFIG_CREATED, ADDON_CONFIG_DELETED, ADDON_CONFIG_UPDATED, API_TOKEN_CREATED, API_TOKEN_DELETED, API_TOKEN_UPDATED, DEFAULT_STRATEGY_UPDATED, DROP_ENVIRONMENTS, DROP_FEATURE_TAGS, DROP_FEATURES, DROP_PROJECTS, DROP_STRATEGIES, DROP_TAG_TYPES, DROP_TAGS, ENVIRONMENT_IMPORT, FEATURE_ARCHIVED, FEATURE_COMPLETED, FEATURE_CREATED, FEATURE_DELETED, FEATURE_ENVIRONMENT_DISABLED, FEATURE_ENVIRONMENT_ENABLED, FEATURE_ENVIRONMENT_VARIANTS_UPDATED, FEATURE_FAVORITED, FEATURE_IMPORT, FEATURE_METADATA_UPDATED, FEATURE_POTENTIALLY_STALE_ON, FEATURE_PROJECT_CHANGE, FEATURE_REVIVED, FEATURE_STALE_OFF, FEATURE_STALE_ON, FEATURE_STRATEGY_ADD, FEATURE_STRATEGY_REMOVE, FEATURE_STRATEGY_UPDATE, FEATURE_TAG_IMPORT, FEATURE_TAGGED, FEATURE_TYPE_UPDATED, FEATURE_UNCOMPLETED, STRATEGY_ORDER_CHANGED, STRATEGY_CREATED, STRATEGY_DELETED, STRATEGY_DEPRECATED, STRATEGY_REACTIVATED, STRATEGY_UPDATED, STRATEGY_IMPORT, FEATURE_UNFAVORITED, FEATURE_UPDATED, FEATURE_VARIANTS_UPDATED, FEATURES_EXPORTED, FEATURES_IMPORTED, GROUP_DELETED, GROUP_UPDATED, GROUP_USER_ADDED, GROUP_USER_REMOVED, PAT_CREATED, PAT_DELETED, PROJECT_ACCESS_ADDED, PROJECT_ACCESS_GROUP_ROLES_DELETED, PROJECT_ACCESS_GROUP_ROLES_UPDATED, PROJECT_ACCESS_USER_ROLES_DELETED, PROJECT_ACCESS_USER_ROLES_UPDATED, PROJECT_ARCHIVED, PROJECT_CREATED, PROJECT_DELETED, PROJECT_ENVIRONMENT_ADDED, PROJECT_ENVIRONMENT_REMOVED, PROJECT_FAVORITED, PROJECT_GROUP_ADDED, PROJECT_IMPORT, PROJECT_REVIVED, PROJECT_UNFAVORITED, PROJECT_UPDATED, PROJECT_USER_ADDED, PROJECT_USER_REMOVED, PROJECT_USER_ROLE_CHANGED, PUBLIC_SIGNUP_TOKEN_CREATED, PUBLIC_SIGNUP_TOKEN_TOKEN_UPDATED, PUBLIC_SIGNUP_TOKEN_USER_ADDED, RELEASE_PLAN_ADDED, RELEASE_PLAN_MILESTONE_STARTED, RELEASE_PLAN_REMOVED, RELEASE_PLAN_TEMPLATE_ARCHIVED, RELEASE_PLAN_TEMPLATE_CREATED, RELEASE_PLAN_TEMPLATE_DELETED, RELEASE_PLAN_TEMPLATE_UPDATED, ROLE_CREATED, ROLE_DELETED, ROLE_UPDATED, SCIM_GROUPS_DELETED, SCIM_USERS_DELETED, SEGMENT_CREATED, SEGMENT_DELETED, SEGMENT_UPDATED, SETTING_CREATED, SETTING_DELETED, SETTING_UPDATED, TAG_CREATED, TAG_DELETED, TAG_IMPORT, TAG_TYPE_DELETED, TAG_TYPE_IMPORT, TAG_TYPE_UPDATED, USER_CREATED, USER_DELETED, USER_PREFERENCE_UPDATED, USER_UPDATED, FEATURE_LINK_REMOVED, FEATURE_LINK_UPDATED, FEATURE_LINK_ADDED, APPLICATION_CREATED, } from '../events/index.js'; export class BaseEvent { /** * @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, auditUser) { this.type = type; this.createdBy = auditUser.username || 'unknown'; this.createdByUserId = auditUser.id || -1337; this.ip = auditUser.ip || ''; } } export class FeatureStaleEvent extends BaseEvent { constructor(p) { super(p.stale ? FEATURE_STALE_ON : FEATURE_STALE_OFF, p.auditUser); this.project = p.project; this.featureName = p.featureName; } } export class FeatureEnvironmentEvent extends BaseEvent { constructor(p) { super(p.enabled ? FEATURE_ENVIRONMENT_ENABLED : FEATURE_ENVIRONMENT_DISABLED, p.auditUser); this.project = p.project; this.featureName = p.featureName; this.environment = p.environment; } } export class StrategiesOrderChangedEvent extends BaseEvent { constructor(p) { super(STRATEGY_ORDER_CHANGED, p.auditUser); const { project, featureName, environment, data, preData } = p; this.project = project; this.featureName = featureName; this.environment = environment; this.data = data; this.preData = preData; } } export class FeatureVariantEvent extends BaseEvent { constructor(p) { super(FEATURE_VARIANTS_UPDATED, p.auditUser); this.project = p.project; this.featureName = p.featureName; this.data = { variants: p.newVariants }; this.preData = { variants: p.oldVariants }; } } export class EnvironmentVariantEvent extends BaseEvent { /** */ constructor(p) { super(FEATURE_ENVIRONMENT_VARIANTS_UPDATED, p.auditUser); this.featureName = p.featureName; this.environment = p.environment; this.project = p.project; this.data = { variants: p.newVariants }; this.preData = { variants: p.oldVariants }; } } export class ProjectCreatedEvent extends BaseEvent { constructor(eventData) { super(PROJECT_CREATED, eventData.auditUser); this.project = eventData.project; this.data = eventData.data; } } export class ProjectUpdatedEvent extends BaseEvent { constructor(eventData) { super(PROJECT_UPDATED, eventData.auditUser); this.project = eventData.project; this.data = eventData.data; this.preData = eventData.preData; } } export class ProjectDeletedEvent extends BaseEvent { constructor(eventData) { super(PROJECT_DELETED, eventData.auditUser); this.project = eventData.project; } } export class ProjectArchivedEvent extends BaseEvent { constructor(eventData) { super(PROJECT_ARCHIVED, eventData.auditUser); this.project = eventData.project; } } export class ProjectRevivedEvent extends BaseEvent { constructor(eventData) { super(PROJECT_REVIVED, eventData.auditUser); this.project = eventData.project; } } export class RoleUpdatedEvent extends BaseEvent { constructor(eventData) { super(ROLE_UPDATED, eventData.auditUser); this.data = eventData.data; this.preData = eventData.preData; } } export class FeatureChangeProjectEvent extends BaseEvent { constructor(p) { super(FEATURE_PROJECT_CHANGE, p.auditUser); const { newProject, oldProject, featureName } = p; this.project = newProject; this.featureName = featureName; this.data = { newProject, oldProject, }; } } export class FeatureCreatedEvent extends BaseEvent { constructor(p) { super(FEATURE_CREATED, p.auditUser); const { project, featureName, data } = p; this.project = project; this.featureName = featureName; this.data = data; } } export class ProjectImport extends BaseEvent { constructor(p) { super(PROJECT_IMPORT, p.auditUser); this.data = p.project; } } export class FeatureImport extends BaseEvent { constructor(p) { super(FEATURE_IMPORT, p.auditUser); this.data = p.feature; } } export class StrategyImport extends BaseEvent { constructor(p) { super(STRATEGY_IMPORT, p.auditUser); this.data = p.strategy; } } export class EnvironmentImport extends BaseEvent { constructor(p) { super(ENVIRONMENT_IMPORT, p.auditUser); this.data = p.env; } } export class TagTypeImport extends BaseEvent { constructor(p) { super(TAG_TYPE_IMPORT, p.auditUser); this.data = p.tagType; } } export class TagImport extends BaseEvent { constructor(p) { super(TAG_IMPORT, p.auditUser); this.data = p.tag; } } export class FeatureTagImport extends BaseEvent { constructor(p) { super(FEATURE_TAG_IMPORT, p.auditUser); this.data = p.featureTag; } } export class FeatureCompletedEvent extends BaseEvent { constructor(p) { super(FEATURE_COMPLETED, p.auditUser); const { featureName, data, project } = p; this.featureName = featureName; this.data = data; this.project = project; } } export class FeatureUncompletedEvent extends BaseEvent { constructor(p) { super(FEATURE_UNCOMPLETED, p.auditUser); const { featureName, project } = p; this.featureName = featureName; this.project = project; } } export class FeatureUpdatedEvent extends BaseEvent { constructor(eventData) { super(FEATURE_UPDATED, eventData.auditUser); this.data = eventData.data; this.project = eventData.project; this.featureName = eventData.featureName; } } export class FeatureTaggedEvent extends BaseEvent { constructor(eventData) { super(FEATURE_TAGGED, eventData.auditUser); this.project = eventData.project; this.featureName = eventData.featureName; this.data = eventData.data; } } export class FeatureTypeUpdatedEvent extends BaseEvent { constructor(eventData) { super(FEATURE_TYPE_UPDATED, eventData.auditUser); this.data = eventData.data; this.preData = eventData.preData; } } export class FeatureDependencyAddedEvent extends BaseEvent { constructor(eventData) { super('feature-dependency-added', eventData.auditUser); this.project = eventData.project; this.featureName = eventData.featureName; this.data = eventData.data; } } export class FeatureDependencyRemovedEvent extends BaseEvent { constructor(eventData) { super('feature-dependency-removed', eventData.auditUser); this.project = eventData.project; this.featureName = eventData.featureName; this.data = eventData.data; } } export class FeatureDependenciesRemovedEvent extends BaseEvent { constructor(eventData) { super('feature-dependencies-removed', eventData.auditUser); this.project = eventData.project; this.featureName = eventData.featureName; } } export class FeaturesImportedEvent extends BaseEvent { constructor(eventData) { super(FEATURES_IMPORTED, eventData.auditUser); this.project = eventData.project; this.environment = eventData.environment; } } export class FeatureArchivedEvent extends BaseEvent { constructor(p) { super(FEATURE_ARCHIVED, p.auditUser); const { project, featureName } = p; this.project = project; this.featureName = featureName; } } export class FeatureRevivedEvent extends BaseEvent { /** */ constructor(p) { super(FEATURE_REVIVED, p.auditUser); const { project, featureName } = p; this.project = project; this.featureName = featureName; } } export class FeatureDeletedEvent extends BaseEvent { /** */ constructor(p) { super(FEATURE_DELETED, p.auditUser); const { project, featureName, preData } = p; this.project = project; this.featureName = featureName; this.preData = preData; this.tags = p.tags; } } export class FeatureMetadataUpdateEvent extends BaseEvent { /** */ constructor(p) { super(FEATURE_METADATA_UPDATED, p.auditUser); const { project, featureName, data, preData } = p; this.project = project; this.featureName = featureName; this.data = data; this.preData = preData; } } export class FeatureLinkAddedEvent extends BaseEvent { constructor(p) { super(FEATURE_LINK_ADDED, p.auditUser); const { project, featureName, data } = p; this.project = project; this.featureName = featureName; this.data = data; this.preData = null; } } export class FeatureLinkUpdatedEvent extends BaseEvent { constructor(p) { super(FEATURE_LINK_UPDATED, p.auditUser); const { project, featureName, data, preData } = p; this.project = project; this.featureName = featureName; this.data = data; this.preData = preData; } } export class FeatureLinkRemovedEvent extends BaseEvent { constructor(p) { super(FEATURE_LINK_REMOVED, p.auditUser); const { project, featureName, preData } = p; this.project = project; this.featureName = featureName; this.data = null; this.preData = preData; } } export class FeatureStrategyAddEvent extends BaseEvent { /** */ constructor(p) { super(FEATURE_STRATEGY_ADD, p.auditUser); const { project, featureName, environment, data } = p; this.project = project; this.featureName = featureName; this.environment = environment; this.data = data; } } export class FeatureStrategyUpdateEvent extends BaseEvent { /** */ constructor(p) { super(FEATURE_STRATEGY_UPDATE, p.auditUser); const { project, featureName, environment, data, preData } = p; this.project = project; this.featureName = featureName; this.environment = environment; this.data = data; this.preData = preData; } } export class FeatureStrategyRemoveEvent extends BaseEvent { constructor(p) { super(FEATURE_STRATEGY_REMOVE, p.auditUser); const { project, featureName, environment, preData } = p; this.project = project; this.featureName = featureName; this.environment = environment; this.preData = preData; } } export class FeatureFavoritedEvent extends BaseEvent { constructor(eventData) { super(FEATURE_FAVORITED, eventData.auditUser); this.data = eventData.data; this.featureName = eventData.featureName; } } export class ProjectFavoritedEvent extends BaseEvent { constructor(eventData) { super(PROJECT_FAVORITED, eventData.auditUser); this.data = eventData.data; this.project = eventData.project; } } export class FeatureUnfavoritedEvent extends BaseEvent { constructor(eventData) { super(FEATURE_UNFAVORITED, eventData.auditUser); this.data = eventData.data; this.featureName = eventData.featureName; } } export class ProjectUnfavoritedEvent extends BaseEvent { constructor(eventData) { super(PROJECT_UNFAVORITED, eventData.auditUser); this.data = eventData.data; this.project = eventData.project; } } export class ProjectUserAddedEvent extends BaseEvent { /** */ constructor(p) { super(PROJECT_USER_ADDED, p.auditUser); const { project, data } = p; this.project = project; this.data = data; this.preData = null; } } export class ProjectUserRemovedEvent extends BaseEvent { constructor(p) { super(PROJECT_USER_REMOVED, p.auditUser); const { project, preData } = p; this.project = project; this.data = null; this.preData = preData; } } export class ProjectUserUpdateRoleEvent extends BaseEvent { constructor(eventData) { super(PROJECT_USER_ROLE_CHANGED, eventData.auditUser); const { project, data, preData } = eventData; this.project = project; this.data = data; this.preData = preData; } } export class ProjectGroupAddedEvent extends BaseEvent { constructor(p) { super(PROJECT_GROUP_ADDED, p.auditUser); const { project, data } = p; this.project = project; this.data = data; this.preData = null; } } export class ProjectAccessAddedEvent extends BaseEvent { constructor(p) { super(PROJECT_ACCESS_ADDED, p.auditUser); const { project, data } = p; this.project = project; this.data = data; this.preData = null; } } export class ProjectAccessUserRolesUpdated extends BaseEvent { constructor(p) { super(PROJECT_ACCESS_USER_ROLES_UPDATED, p.auditUser); const { project, data, preData } = p; this.project = project; this.data = data; this.preData = preData; } } export class ProjectAccessGroupRolesUpdated extends BaseEvent { constructor(p) { super(PROJECT_ACCESS_GROUP_ROLES_UPDATED, p.auditUser); const { project, data, preData } = p; this.project = project; this.data = data; this.preData = preData; } } export class GroupUserRemoved extends BaseEvent { constructor(p) { super(GROUP_USER_REMOVED, p.auditUser); this.preData = { groupId: p.groupId, userId: p.userId, }; } } export class GroupUserAdded extends BaseEvent { constructor(p) { super(GROUP_USER_ADDED, p.auditUser); this.data = { groupId: p.groupId, userId: p.userId, }; } } export class ProjectAccessUserRolesDeleted extends BaseEvent { constructor(p) { super(PROJECT_ACCESS_USER_ROLES_DELETED, p.auditUser); const { project, preData } = p; this.project = project; this.data = null; this.preData = preData; } } export class ProjectAccessGroupRolesDeleted extends BaseEvent { constructor(p) { super(PROJECT_ACCESS_GROUP_ROLES_DELETED, p.auditUser); const { project, preData } = p; this.project = project; this.data = null; this.preData = preData; } } export class SettingCreatedEvent extends BaseEvent { constructor(eventData) { super(SETTING_CREATED, eventData.auditUser); this.data = eventData.data; } } export class SettingDeletedEvent extends BaseEvent { constructor(eventData) { super(SETTING_DELETED, eventData.auditUser); this.data = eventData.data; } } export class SettingUpdatedEvent extends BaseEvent { constructor(eventData, preData) { super(SETTING_UPDATED, eventData.auditUser); this.data = eventData.data; this.preData = preData; } } export class PublicSignupTokenCreatedEvent extends BaseEvent { constructor(eventData) { super(PUBLIC_SIGNUP_TOKEN_CREATED, eventData.auditUser); this.data = eventData.data; } } export class PublicSignupTokenUpdatedEvent extends BaseEvent { constructor(eventData) { super(PUBLIC_SIGNUP_TOKEN_TOKEN_UPDATED, eventData.auditUser); this.data = eventData.data; } } export class PublicSignupTokenUserAddedEvent extends BaseEvent { constructor(eventData) { super(PUBLIC_SIGNUP_TOKEN_USER_ADDED, eventData.auditUser); this.data = eventData.data; } } export class ApiTokenCreatedEvent extends BaseEvent { constructor(eventData) { super(API_TOKEN_CREATED, eventData.auditUser); this.data = eventData.apiToken; this.environment = eventData.apiToken.environment; this.project = eventData.apiToken.project; } } export class ApiTokenDeletedEvent extends BaseEvent { constructor(eventData) { super(API_TOKEN_DELETED, eventData.auditUser); this.preData = eventData.apiToken; this.environment = eventData.apiToken.environment; this.project = eventData.apiToken.project; } } export class ApiTokenUpdatedEvent extends BaseEvent { constructor(eventData) { super(API_TOKEN_UPDATED, eventData.auditUser); this.preData = eventData.previousToken; this.data = eventData.apiToken; this.environment = eventData.apiToken.environment; this.project = eventData.apiToken.project; } } export class PotentiallyStaleOnEvent extends BaseEvent { constructor(eventData) { super(FEATURE_POTENTIALLY_STALE_ON, eventData.auditUser); this.featureName = eventData.featureName; this.project = eventData.project; } } export class UserCreatedEvent extends BaseEvent { constructor(eventData) { super(USER_CREATED, eventData.auditUser); this.data = mapUserToData(eventData.userCreated); } } export class UserUpdatedEvent extends BaseEvent { constructor(eventData) { super(USER_UPDATED, eventData.auditUser); this.preData = mapUserToData(eventData.preUser); this.data = mapUserToData(eventData.postUser); } } export class UserDeletedEvent extends BaseEvent { constructor(eventData) { super(USER_DELETED, eventData.auditUser); this.preData = mapUserToData(eventData.deletedUser); } } export class ScimUsersDeleted extends BaseEvent { constructor(eventData) { super(SCIM_USERS_DELETED, eventData.auditUser); this.data = eventData.data; } } export class ScimGroupsDeleted extends BaseEvent { constructor(eventData) { super(SCIM_GROUPS_DELETED, eventData.auditUser); this.data = eventData.data; } } export class TagTypeCreatedEvent extends BaseEvent { constructor(eventData) { super('tag-type-created', eventData.auditUser); this.data = eventData.data; } } export class TagTypeDeletedEvent extends BaseEvent { constructor(eventData) { super(TAG_TYPE_DELETED, eventData.auditUser); this.preData = eventData.preData; } } export class TagTypeUpdatedEvent extends BaseEvent { constructor(eventData) { super(TAG_TYPE_UPDATED, eventData.auditUser); this.data = eventData.data; } } export class TagCreatedEvent extends BaseEvent { constructor(eventData) { super(TAG_CREATED, eventData.auditUser); this.data = eventData.data; } } export class TagDeletedEvent extends BaseEvent { constructor(eventData) { super(TAG_DELETED, eventData.auditUser); this.data = eventData.data; } } export class PatCreatedEvent extends BaseEvent { constructor(eventData) { super(PAT_CREATED, eventData.auditUser); this.data = eventData.data; } } export class PatDeletedEvent extends BaseEvent { constructor(eventData) { super(PAT_DELETED, eventData.auditUser); this.data = eventData.data; } } export class ProjectEnvironmentAdded extends BaseEvent { constructor(eventData) { super(PROJECT_ENVIRONMENT_ADDED, eventData.auditUser); this.project = eventData.project; this.environment = eventData.environment; } } export class ProjectEnvironmentRemoved extends BaseEvent { constructor(eventData) { super(PROJECT_ENVIRONMENT_REMOVED, eventData.auditUser); this.project = eventData.project; this.environment = eventData.environment; } } export class FeaturesExportedEvent extends BaseEvent { constructor(eventData) { super(FEATURES_EXPORTED, eventData.auditUser); this.data = eventData; } } export class DropProjectsEvent extends BaseEvent { constructor(eventData) { super(DROP_PROJECTS, eventData.auditUser); this.data = { name: 'all-projects' }; } } export class DropFeaturesEvent extends BaseEvent { constructor(eventData) { super(DROP_FEATURES, eventData.auditUser); this.data = { name: 'all-features' }; } } export class DropStrategiesEvent extends BaseEvent { constructor(eventData) { super(DROP_STRATEGIES, eventData.auditUser); this.data = { name: 'all-strategies' }; } } export class DropEnvironmentsEvent extends BaseEvent { constructor(eventData) { super(DROP_ENVIRONMENTS, eventData.auditUser); this.data = { name: 'all-environments' }; } } export class DropFeatureTagsEvent extends BaseEvent { constructor(eventData) { super(DROP_FEATURE_TAGS, eventData.auditUser); this.data = { name: 'all-feature-tags' }; } } export class DropTagsEvent extends BaseEvent { constructor(eventData) { super(DROP_TAGS, eventData.auditUser); this.data = { name: 'all-tags' }; } } export class DropTagTypesEvent extends BaseEvent { constructor(eventData) { super(DROP_TAG_TYPES, eventData.auditUser); this.data = { name: 'all-tag-types' }; } } export class RoleCreatedEvent extends BaseEvent { constructor(eventData) { super(ROLE_CREATED, eventData.auditUser); this.data = eventData.data; } } export class RoleDeletedEvent extends BaseEvent { constructor(eventData) { super(ROLE_DELETED, eventData.auditUser); this.preData = eventData.preData; } } export class StrategyCreatedEvent extends BaseEvent { constructor(eventData) { super(STRATEGY_CREATED, eventData.auditUser); this.data = eventData.data; } } export class StrategyUpdatedEvent extends BaseEvent { constructor(eventData) { super(STRATEGY_UPDATED, eventData.auditUser); this.data = eventData.data; } } export class StrategyDeletedEvent extends BaseEvent { constructor(eventData) { super(STRATEGY_DELETED, eventData.auditUser); this.data = eventData.data; } } export class StrategyDeprecatedEvent extends BaseEvent { constructor(eventData) { super(STRATEGY_DEPRECATED, eventData.auditUser); this.data = eventData.data; } } export class StrategyReactivatedEvent extends BaseEvent { constructor(eventData) { super(STRATEGY_REACTIVATED, eventData.auditUser); this.data = eventData.data; } } export class DefaultStrategyUpdatedEvent extends BaseEvent { constructor(eventData) { super(DEFAULT_STRATEGY_UPDATED, eventData.auditUser); this.data = eventData.data; this.preData = eventData.preData; this.project = eventData.project; this.environment = eventData.environment; } } export class AddonConfigCreatedEvent extends BaseEvent { constructor(eventData) { super(ADDON_CONFIG_CREATED, eventData.auditUser); this.data = eventData.data; } } export class AddonConfigUpdatedEvent extends BaseEvent { constructor(eventData) { super(ADDON_CONFIG_UPDATED, eventData.auditUser); this.data = eventData.data; this.preData = eventData.preData; } } export class AddonConfigDeletedEvent extends BaseEvent { constructor(eventData) { super(ADDON_CONFIG_DELETED, eventData.auditUser); this.preData = eventData.preData; } } export class SegmentCreatedEvent extends BaseEvent { constructor(eventData) { super(SEGMENT_CREATED, eventData.auditUser); this.project = eventData.project; this.data = eventData.data; } } export class SegmentUpdatedEvent extends BaseEvent { constructor(eventData) { super(SEGMENT_UPDATED, eventData.auditUser); this.project = eventData.project; this.data = eventData.data; this.preData = eventData.preData; } } export class SegmentDeletedEvent extends BaseEvent { constructor(eventData) { super(SEGMENT_DELETED, eventData.auditUser); this.preData = eventData.preData; this.project = eventData.project; } } export class GroupUpdatedEvent extends BaseEvent { constructor(eventData) { super(GROUP_UPDATED, eventData.auditUser); this.preData = eventData.preData; this.data = eventData.data; } } export class GroupDeletedEvent extends BaseEvent { constructor(eventData) { super(GROUP_DELETED, eventData.auditUser); this.preData = eventData.preData; } } export class ReleasePlanTemplateCreatedEvent extends BaseEvent { constructor(eventData) { super(RELEASE_PLAN_TEMPLATE_CREATED, eventData.auditUser); this.data = eventData.data; } } export class ReleasePlanTemplateUpdatedEvent extends BaseEvent { constructor(eventData) { super(RELEASE_PLAN_TEMPLATE_UPDATED, eventData.auditUser); this.data = eventData.data; this.preData = eventData.preData; } } export class ReleasePlanTemplateDeletedEvent extends BaseEvent { constructor(eventData) { super(RELEASE_PLAN_TEMPLATE_DELETED, eventData.auditUser); this.preData = eventData.preData; } } export class ReleasePlanTemplateArchivedEvent extends BaseEvent { constructor(eventData) { super(RELEASE_PLAN_TEMPLATE_ARCHIVED, eventData.auditUser); this.data = eventData.data; this.preData = eventData.preData; } } export class ReleasePlanAddedEvent extends BaseEvent { constructor(eventData) { super(RELEASE_PLAN_ADDED, eventData.auditUser); this.project = eventData.project; this.featureName = eventData.featureName; this.environment = eventData.environment; this.data = eventData.data; } } export class ReleasePlanRemovedEvent extends BaseEvent { constructor(eventData) { super(RELEASE_PLAN_REMOVED, eventData.auditUser); this.project = eventData.project; this.featureName = eventData.featureName; this.environment = eventData.environment; this.preData = eventData.preData; } } export class ReleasePlanMilestoneStartedEvent extends BaseEvent { constructor(eventData) { super(RELEASE_PLAN_MILESTONE_STARTED, eventData.auditUser); this.project = eventData.project; this.featureName = eventData.featureName; this.environment = eventData.environment; this.preData = eventData.preData; this.data = eventData.data; } } export class ApplicationCreatedEvent extends BaseEvent { constructor(eventData) { super(APPLICATION_CREATED, eventData.auditUser); this.data = eventData.data; } } function mapUserToData(user) { return { id: user.id, name: user.name, username: user.username, email: user.email, rootRole: user.rootRole, }; } export class UserPreferenceUpdatedEvent extends BaseEvent { constructor(eventData) { super(USER_PREFERENCE_UPDATED, eventData.auditUser); this.userId = eventData.userId; this.data = eventData.data; } } //# sourceMappingURL=events.js.map