mirror of
https://github.com/Unleash/unleash.git
synced 2025-06-04 01:18:20 +02:00
chore: make event store accept IUser (#3076)
## About the changes Currently, we need to remember of using the email or else the username of a user when storing into EventStore, because we don't have [strictNullChecks](https://www.typescriptlang.org/tsconfig#strictNullChecks), it's error-prone. Fix for a production issue: #3072 This reuses an existing function that also deals with undefined
This commit is contained in:
parent
03c3499546
commit
dc0fe3929e
@ -1350,7 +1350,7 @@ class FeatureToggleService {
|
|||||||
featureName,
|
featureName,
|
||||||
environment,
|
environment,
|
||||||
project: projectId,
|
project: projectId,
|
||||||
createdBy: user.email || user.username,
|
createdBy: user,
|
||||||
oldVariants: theOldVariants,
|
oldVariants: theOldVariants,
|
||||||
newVariants: fixedVariants,
|
newVariants: fixedVariants,
|
||||||
}),
|
}),
|
||||||
@ -1436,7 +1436,7 @@ class FeatureToggleService {
|
|||||||
featureName,
|
featureName,
|
||||||
environment,
|
environment,
|
||||||
project: projectId,
|
project: projectId,
|
||||||
createdBy: user.email || user.username,
|
createdBy: user,
|
||||||
oldVariants: oldVariants[environment],
|
oldVariants: oldVariants[environment],
|
||||||
newVariants: fixedVariants,
|
newVariants: fixedVariants,
|
||||||
}),
|
}),
|
||||||
|
@ -1,5 +1,7 @@
|
|||||||
|
import { extractUsernameFromUser } from '../util';
|
||||||
import { FeatureToggle, IStrategyConfig, ITag, IVariant } from './model';
|
import { FeatureToggle, IStrategyConfig, ITag, IVariant } from './model';
|
||||||
import { IApiToken } from './models/api-token';
|
import { IApiToken } from './models/api-token';
|
||||||
|
import { IUser } from './user';
|
||||||
|
|
||||||
export const APPLICATION_CREATED = 'application-created';
|
export const APPLICATION_CREATED = 'application-created';
|
||||||
|
|
||||||
@ -135,9 +137,15 @@ class BaseEvent implements IBaseEvent {
|
|||||||
|
|
||||||
readonly tags: ITag[];
|
readonly tags: ITag[];
|
||||||
|
|
||||||
constructor(type: string, createdBy: string, tags: ITag[] = []) {
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
|
constructor(type: string, createdBy: string | IUser, tags: ITag[] = []) {
|
||||||
this.type = type;
|
this.type = type;
|
||||||
this.createdBy = createdBy;
|
this.createdBy =
|
||||||
|
typeof createdBy === 'string'
|
||||||
|
? createdBy
|
||||||
|
: extractUsernameFromUser(createdBy);
|
||||||
this.tags = tags;
|
this.tags = tags;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -147,11 +155,14 @@ export class FeatureStaleEvent extends BaseEvent {
|
|||||||
|
|
||||||
readonly featureName: string;
|
readonly featureName: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
constructor(p: {
|
constructor(p: {
|
||||||
stale: boolean;
|
stale: boolean;
|
||||||
project: string;
|
project: string;
|
||||||
featureName: string;
|
featureName: string;
|
||||||
createdBy: string;
|
createdBy: string | IUser;
|
||||||
tags: ITag[];
|
tags: ITag[];
|
||||||
}) {
|
}) {
|
||||||
super(
|
super(
|
||||||
@ -171,12 +182,15 @@ export class FeatureEnvironmentEvent extends BaseEvent {
|
|||||||
|
|
||||||
readonly environment: string;
|
readonly environment: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
constructor(p: {
|
constructor(p: {
|
||||||
enabled: boolean;
|
enabled: boolean;
|
||||||
project: string;
|
project: string;
|
||||||
featureName: string;
|
featureName: string;
|
||||||
environment: string;
|
environment: string;
|
||||||
createdBy: string;
|
createdBy: string | IUser;
|
||||||
tags: ITag[];
|
tags: ITag[];
|
||||||
}) {
|
}) {
|
||||||
super(
|
super(
|
||||||
@ -201,10 +215,13 @@ export class FeatureVariantEvent extends BaseEvent {
|
|||||||
|
|
||||||
readonly preData: { variants: IVariant[] };
|
readonly preData: { variants: IVariant[] };
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
constructor(p: {
|
constructor(p: {
|
||||||
project: string;
|
project: string;
|
||||||
featureName: string;
|
featureName: string;
|
||||||
createdBy: string;
|
createdBy: string | IUser;
|
||||||
tags: ITag[];
|
tags: ITag[];
|
||||||
newVariants: IVariant[];
|
newVariants: IVariant[];
|
||||||
oldVariants: IVariant[];
|
oldVariants: IVariant[];
|
||||||
@ -228,11 +245,14 @@ export class EnvironmentVariantEvent extends BaseEvent {
|
|||||||
|
|
||||||
readonly preData: { variants: IVariant[] };
|
readonly preData: { variants: IVariant[] };
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
constructor(p: {
|
constructor(p: {
|
||||||
featureName: string;
|
featureName: string;
|
||||||
environment: string;
|
environment: string;
|
||||||
project: string;
|
project: string;
|
||||||
createdBy: string;
|
createdBy: string | IUser;
|
||||||
newVariants: IVariant[];
|
newVariants: IVariant[];
|
||||||
oldVariants: IVariant[];
|
oldVariants: IVariant[];
|
||||||
}) {
|
}) {
|
||||||
@ -255,11 +275,14 @@ export class FeatureChangeProjectEvent extends BaseEvent {
|
|||||||
newProject: string;
|
newProject: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
constructor(p: {
|
constructor(p: {
|
||||||
oldProject: string;
|
oldProject: string;
|
||||||
newProject: string;
|
newProject: string;
|
||||||
featureName: string;
|
featureName: string;
|
||||||
createdBy: string;
|
createdBy: string | IUser;
|
||||||
tags: ITag[];
|
tags: ITag[];
|
||||||
}) {
|
}) {
|
||||||
super(FEATURE_PROJECT_CHANGE, p.createdBy, p.tags);
|
super(FEATURE_PROJECT_CHANGE, p.createdBy, p.tags);
|
||||||
@ -277,10 +300,13 @@ export class FeatureCreatedEvent extends BaseEvent {
|
|||||||
|
|
||||||
readonly data: FeatureToggle;
|
readonly data: FeatureToggle;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
constructor(p: {
|
constructor(p: {
|
||||||
project: string;
|
project: string;
|
||||||
featureName: string;
|
featureName: string;
|
||||||
createdBy: string;
|
createdBy: string | IUser;
|
||||||
data: FeatureToggle;
|
data: FeatureToggle;
|
||||||
tags: ITag[];
|
tags: ITag[];
|
||||||
}) {
|
}) {
|
||||||
@ -297,10 +323,13 @@ export class FeatureArchivedEvent extends BaseEvent {
|
|||||||
|
|
||||||
readonly featureName: string;
|
readonly featureName: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
constructor(p: {
|
constructor(p: {
|
||||||
project: string;
|
project: string;
|
||||||
featureName: string;
|
featureName: string;
|
||||||
createdBy: string;
|
createdBy: string | IUser;
|
||||||
tags: ITag[];
|
tags: ITag[];
|
||||||
}) {
|
}) {
|
||||||
super(FEATURE_ARCHIVED, p.createdBy, p.tags);
|
super(FEATURE_ARCHIVED, p.createdBy, p.tags);
|
||||||
@ -315,10 +344,13 @@ export class FeatureRevivedEvent extends BaseEvent {
|
|||||||
|
|
||||||
readonly featureName: string;
|
readonly featureName: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
constructor(p: {
|
constructor(p: {
|
||||||
project: string;
|
project: string;
|
||||||
featureName: string;
|
featureName: string;
|
||||||
createdBy: string;
|
createdBy: string | IUser;
|
||||||
tags: ITag[];
|
tags: ITag[];
|
||||||
}) {
|
}) {
|
||||||
super(FEATURE_REVIVED, p.createdBy, p.tags);
|
super(FEATURE_REVIVED, p.createdBy, p.tags);
|
||||||
@ -335,11 +367,14 @@ export class FeatureDeletedEvent extends BaseEvent {
|
|||||||
|
|
||||||
readonly preData: FeatureToggle;
|
readonly preData: FeatureToggle;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
constructor(p: {
|
constructor(p: {
|
||||||
project: string;
|
project: string;
|
||||||
featureName: string;
|
featureName: string;
|
||||||
preData: FeatureToggle;
|
preData: FeatureToggle;
|
||||||
createdBy: string;
|
createdBy: string | IUser;
|
||||||
tags: ITag[];
|
tags: ITag[];
|
||||||
}) {
|
}) {
|
||||||
super(FEATURE_DELETED, p.createdBy, p.tags);
|
super(FEATURE_DELETED, p.createdBy, p.tags);
|
||||||
@ -359,9 +394,12 @@ export class FeatureMetadataUpdateEvent extends BaseEvent {
|
|||||||
|
|
||||||
readonly preData: FeatureToggle;
|
readonly preData: FeatureToggle;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
constructor(p: {
|
constructor(p: {
|
||||||
featureName: string;
|
featureName: string;
|
||||||
createdBy: string;
|
createdBy: string | IUser;
|
||||||
project: string;
|
project: string;
|
||||||
data: FeatureToggle;
|
data: FeatureToggle;
|
||||||
preData: FeatureToggle;
|
preData: FeatureToggle;
|
||||||
@ -385,11 +423,14 @@ export class FeatureStrategyAddEvent extends BaseEvent {
|
|||||||
|
|
||||||
readonly data: IStrategyConfig;
|
readonly data: IStrategyConfig;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
constructor(p: {
|
constructor(p: {
|
||||||
project: string;
|
project: string;
|
||||||
featureName: string;
|
featureName: string;
|
||||||
environment: string;
|
environment: string;
|
||||||
createdBy: string;
|
createdBy: string | IUser;
|
||||||
data: IStrategyConfig;
|
data: IStrategyConfig;
|
||||||
tags: ITag[];
|
tags: ITag[];
|
||||||
}) {
|
}) {
|
||||||
@ -413,11 +454,14 @@ export class FeatureStrategyUpdateEvent extends BaseEvent {
|
|||||||
|
|
||||||
readonly preData: IStrategyConfig;
|
readonly preData: IStrategyConfig;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
constructor(p: {
|
constructor(p: {
|
||||||
project: string;
|
project: string;
|
||||||
featureName: string;
|
featureName: string;
|
||||||
environment: string;
|
environment: string;
|
||||||
createdBy: string;
|
createdBy: string | IUser;
|
||||||
data: IStrategyConfig;
|
data: IStrategyConfig;
|
||||||
preData: IStrategyConfig;
|
preData: IStrategyConfig;
|
||||||
tags: ITag[];
|
tags: ITag[];
|
||||||
@ -441,11 +485,14 @@ export class FeatureStrategyRemoveEvent extends BaseEvent {
|
|||||||
|
|
||||||
readonly preData: IStrategyConfig;
|
readonly preData: IStrategyConfig;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
constructor(p: {
|
constructor(p: {
|
||||||
project: string;
|
project: string;
|
||||||
featureName: string;
|
featureName: string;
|
||||||
environment: string;
|
environment: string;
|
||||||
createdBy: string;
|
createdBy: string | IUser;
|
||||||
preData: IStrategyConfig;
|
preData: IStrategyConfig;
|
||||||
tags: ITag[];
|
tags: ITag[];
|
||||||
}) {
|
}) {
|
||||||
@ -465,7 +512,10 @@ export class ProjectUserAddedEvent extends BaseEvent {
|
|||||||
|
|
||||||
readonly preData: any;
|
readonly preData: any;
|
||||||
|
|
||||||
constructor(p: { project: string; createdBy: string; data: any }) {
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
|
constructor(p: { project: string; createdBy: string | IUser; data: any }) {
|
||||||
super(PROJECT_USER_ADDED, p.createdBy);
|
super(PROJECT_USER_ADDED, p.createdBy);
|
||||||
const { project, data } = p;
|
const { project, data } = p;
|
||||||
this.project = project;
|
this.project = project;
|
||||||
@ -481,7 +531,14 @@ export class ProjectUserRemovedEvent extends BaseEvent {
|
|||||||
|
|
||||||
readonly preData: any;
|
readonly preData: any;
|
||||||
|
|
||||||
constructor(p: { project: string; createdBy: string; preData: any }) {
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
|
constructor(p: {
|
||||||
|
project: string;
|
||||||
|
createdBy: string | IUser;
|
||||||
|
preData: any;
|
||||||
|
}) {
|
||||||
super(PROJECT_USER_REMOVED, p.createdBy);
|
super(PROJECT_USER_REMOVED, p.createdBy);
|
||||||
const { project, preData } = p;
|
const { project, preData } = p;
|
||||||
this.project = project;
|
this.project = project;
|
||||||
@ -497,9 +554,12 @@ export class ProjectUserUpdateRoleEvent extends BaseEvent {
|
|||||||
|
|
||||||
readonly preData: any;
|
readonly preData: any;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
constructor(eventData: {
|
constructor(eventData: {
|
||||||
project: string;
|
project: string;
|
||||||
createdBy: string;
|
createdBy: string | IUser;
|
||||||
data: any;
|
data: any;
|
||||||
preData: any;
|
preData: any;
|
||||||
}) {
|
}) {
|
||||||
@ -518,7 +578,10 @@ export class ProjectGroupAddedEvent extends BaseEvent {
|
|||||||
|
|
||||||
readonly preData: any;
|
readonly preData: any;
|
||||||
|
|
||||||
constructor(p: { project: string; createdBy: string; data: any }) {
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
|
constructor(p: { project: string; createdBy: string | IUser; data: any }) {
|
||||||
super(PROJECT_GROUP_ADDED, p.createdBy);
|
super(PROJECT_GROUP_ADDED, p.createdBy);
|
||||||
const { project, data } = p;
|
const { project, data } = p;
|
||||||
this.project = project;
|
this.project = project;
|
||||||
@ -534,7 +597,14 @@ export class ProjectGroupRemovedEvent extends BaseEvent {
|
|||||||
|
|
||||||
readonly preData: any;
|
readonly preData: any;
|
||||||
|
|
||||||
constructor(p: { project: string; createdBy: string; preData: any }) {
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
|
constructor(p: {
|
||||||
|
project: string;
|
||||||
|
createdBy: string | IUser;
|
||||||
|
preData: any;
|
||||||
|
}) {
|
||||||
super(PROJECT_GROUP_REMOVED, p.createdBy);
|
super(PROJECT_GROUP_REMOVED, p.createdBy);
|
||||||
const { project, preData } = p;
|
const { project, preData } = p;
|
||||||
this.project = project;
|
this.project = project;
|
||||||
@ -550,9 +620,12 @@ export class ProjectGroupUpdateRoleEvent extends BaseEvent {
|
|||||||
|
|
||||||
readonly preData: any;
|
readonly preData: any;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
constructor(eventData: {
|
constructor(eventData: {
|
||||||
project: string;
|
project: string;
|
||||||
createdBy: string;
|
createdBy: string | IUser;
|
||||||
data: any;
|
data: any;
|
||||||
preData: any;
|
preData: any;
|
||||||
}) {
|
}) {
|
||||||
@ -567,7 +640,10 @@ export class ProjectGroupUpdateRoleEvent extends BaseEvent {
|
|||||||
export class SettingCreatedEvent extends BaseEvent {
|
export class SettingCreatedEvent extends BaseEvent {
|
||||||
readonly data: any;
|
readonly data: any;
|
||||||
|
|
||||||
constructor(eventData: { createdBy: string; data: any }) {
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
|
constructor(eventData: { createdBy: string | IUser; data: any }) {
|
||||||
super(SETTING_CREATED, eventData.createdBy);
|
super(SETTING_CREATED, eventData.createdBy);
|
||||||
this.data = eventData.data;
|
this.data = eventData.data;
|
||||||
}
|
}
|
||||||
@ -576,7 +652,10 @@ export class SettingCreatedEvent extends BaseEvent {
|
|||||||
export class SettingDeletedEvent extends BaseEvent {
|
export class SettingDeletedEvent extends BaseEvent {
|
||||||
readonly data: any;
|
readonly data: any;
|
||||||
|
|
||||||
constructor(eventData: { createdBy: string; data: any }) {
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
|
constructor(eventData: { createdBy: string | IUser; data: any }) {
|
||||||
super(SETTING_DELETED, eventData.createdBy);
|
super(SETTING_DELETED, eventData.createdBy);
|
||||||
this.data = eventData.data;
|
this.data = eventData.data;
|
||||||
}
|
}
|
||||||
@ -585,7 +664,10 @@ export class SettingDeletedEvent extends BaseEvent {
|
|||||||
export class SettingUpdatedEvent extends BaseEvent {
|
export class SettingUpdatedEvent extends BaseEvent {
|
||||||
readonly data: any;
|
readonly data: any;
|
||||||
|
|
||||||
constructor(eventData: { createdBy: string; data: any }) {
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
|
constructor(eventData: { createdBy: string | IUser; data: any }) {
|
||||||
super(SETTING_UPDATED, eventData.createdBy);
|
super(SETTING_UPDATED, eventData.createdBy);
|
||||||
this.data = eventData.data;
|
this.data = eventData.data;
|
||||||
}
|
}
|
||||||
@ -594,7 +676,10 @@ export class SettingUpdatedEvent extends BaseEvent {
|
|||||||
export class PublicSignupTokenCreatedEvent extends BaseEvent {
|
export class PublicSignupTokenCreatedEvent extends BaseEvent {
|
||||||
readonly data: any;
|
readonly data: any;
|
||||||
|
|
||||||
constructor(eventData: { createdBy: string; data: any }) {
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
|
constructor(eventData: { createdBy: string | IUser; data: any }) {
|
||||||
super(PUBLIC_SIGNUP_TOKEN_CREATED, eventData.createdBy);
|
super(PUBLIC_SIGNUP_TOKEN_CREATED, eventData.createdBy);
|
||||||
this.data = eventData.data;
|
this.data = eventData.data;
|
||||||
}
|
}
|
||||||
@ -603,7 +688,10 @@ export class PublicSignupTokenCreatedEvent extends BaseEvent {
|
|||||||
export class PublicSignupTokenUpdatedEvent extends BaseEvent {
|
export class PublicSignupTokenUpdatedEvent extends BaseEvent {
|
||||||
readonly data: any;
|
readonly data: any;
|
||||||
|
|
||||||
constructor(eventData: { createdBy: string; data: any }) {
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
|
constructor(eventData: { createdBy: string | IUser; data: any }) {
|
||||||
super(PUBLIC_SIGNUP_TOKEN_TOKEN_UPDATED, eventData.createdBy);
|
super(PUBLIC_SIGNUP_TOKEN_TOKEN_UPDATED, eventData.createdBy);
|
||||||
this.data = eventData.data;
|
this.data = eventData.data;
|
||||||
}
|
}
|
||||||
@ -612,7 +700,10 @@ export class PublicSignupTokenUpdatedEvent extends BaseEvent {
|
|||||||
export class PublicSignupTokenUserAddedEvent extends BaseEvent {
|
export class PublicSignupTokenUserAddedEvent extends BaseEvent {
|
||||||
readonly data: any;
|
readonly data: any;
|
||||||
|
|
||||||
constructor(eventData: { createdBy: string; data: any }) {
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
|
constructor(eventData: { createdBy: string | IUser; data: any }) {
|
||||||
super(PUBLIC_SIGNUP_TOKEN_USER_ADDED, eventData.createdBy);
|
super(PUBLIC_SIGNUP_TOKEN_USER_ADDED, eventData.createdBy);
|
||||||
this.data = eventData.data;
|
this.data = eventData.data;
|
||||||
}
|
}
|
||||||
@ -625,8 +716,11 @@ export class ApiTokenCreatedEvent extends BaseEvent {
|
|||||||
|
|
||||||
readonly project: string;
|
readonly project: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
constructor(eventData: {
|
constructor(eventData: {
|
||||||
createdBy: string;
|
createdBy: string | IUser;
|
||||||
apiToken: Omit<IApiToken, 'secret'>;
|
apiToken: Omit<IApiToken, 'secret'>;
|
||||||
}) {
|
}) {
|
||||||
super(API_TOKEN_CREATED, eventData.createdBy);
|
super(API_TOKEN_CREATED, eventData.createdBy);
|
||||||
@ -643,8 +737,11 @@ export class ApiTokenDeletedEvent extends BaseEvent {
|
|||||||
|
|
||||||
readonly project: string;
|
readonly project: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
constructor(eventData: {
|
constructor(eventData: {
|
||||||
createdBy: string;
|
createdBy: string | IUser;
|
||||||
apiToken: Omit<IApiToken, 'secret'>;
|
apiToken: Omit<IApiToken, 'secret'>;
|
||||||
}) {
|
}) {
|
||||||
super(API_TOKEN_DELETED, eventData.createdBy);
|
super(API_TOKEN_DELETED, eventData.createdBy);
|
||||||
@ -663,8 +760,11 @@ export class ApiTokenUpdatedEvent extends BaseEvent {
|
|||||||
|
|
||||||
readonly project: string;
|
readonly project: string;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param createdBy accepts a string for backward compatibility. Prefer using IUser for standardization
|
||||||
|
*/
|
||||||
constructor(eventData: {
|
constructor(eventData: {
|
||||||
createdBy: string;
|
createdBy: string | IUser;
|
||||||
previousToken: Omit<IApiToken, 'secret'>;
|
previousToken: Omit<IApiToken, 'secret'>;
|
||||||
apiToken: Omit<IApiToken, 'secret'>;
|
apiToken: Omit<IApiToken, 'secret'>;
|
||||||
}) {
|
}) {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
import { IAuthRequest, User } from '../server-impl';
|
import { IAuthRequest, IUser } from '../server-impl';
|
||||||
|
|
||||||
export function extractUsernameFromUser(user: User): string {
|
export function extractUsernameFromUser(user: IUser): string {
|
||||||
return user ? user.email || user.username : 'unknown';
|
return user ? user.email || user.username : 'unknown';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user