mirror of
https://github.com/Unleash/unleash.git
synced 2025-02-09 00:18:00 +01:00
fix: project to lifecycle events (#7400)
We need project for those events to filter it out in webhook configuration.
This commit is contained in:
parent
803a55d103
commit
c33901b332
@ -143,12 +143,13 @@ export default class FeatureLifecycleController extends Controller {
|
|||||||
if (!this.flagResolver.isEnabled('featureLifecycle')) {
|
if (!this.flagResolver.isEnabled('featureLifecycle')) {
|
||||||
throw new NotFoundError('Feature lifecycle is disabled.');
|
throw new NotFoundError('Feature lifecycle is disabled.');
|
||||||
}
|
}
|
||||||
const { featureName } = req.params;
|
const { featureName, projectId } = req.params;
|
||||||
|
|
||||||
const status = req.body;
|
const status = req.body;
|
||||||
|
|
||||||
await this.featureLifecycleService.featureCompleted(
|
await this.featureLifecycleService.featureCompleted(
|
||||||
featureName,
|
featureName,
|
||||||
|
projectId,
|
||||||
status,
|
status,
|
||||||
req.audit,
|
req.audit,
|
||||||
);
|
);
|
||||||
@ -163,10 +164,11 @@ export default class FeatureLifecycleController extends Controller {
|
|||||||
if (!this.flagResolver.isEnabled('featureLifecycle')) {
|
if (!this.flagResolver.isEnabled('featureLifecycle')) {
|
||||||
throw new NotFoundError('Feature lifecycle is disabled.');
|
throw new NotFoundError('Feature lifecycle is disabled.');
|
||||||
}
|
}
|
||||||
const { featureName } = req.params;
|
const { featureName, projectId } = req.params;
|
||||||
|
|
||||||
await this.featureLifecycleService.featureUnCompleted(
|
await this.featureLifecycleService.featureUncompleted(
|
||||||
featureName,
|
featureName,
|
||||||
|
projectId,
|
||||||
req.audit,
|
req.audit,
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -180,6 +180,7 @@ export class FeatureLifecycleService extends EventEmitter {
|
|||||||
|
|
||||||
public async featureCompleted(
|
public async featureCompleted(
|
||||||
feature: string,
|
feature: string,
|
||||||
|
projectId: string,
|
||||||
status: FeatureLifecycleCompletedSchema,
|
status: FeatureLifecycleCompletedSchema,
|
||||||
auditUser: IAuditUser,
|
auditUser: IAuditUser,
|
||||||
) {
|
) {
|
||||||
@ -193,6 +194,7 @@ export class FeatureLifecycleService extends EventEmitter {
|
|||||||
]);
|
]);
|
||||||
await this.eventService.storeEvent(
|
await this.eventService.storeEvent(
|
||||||
new FeatureCompletedEvent({
|
new FeatureCompletedEvent({
|
||||||
|
project: projectId,
|
||||||
featureName: feature,
|
featureName: feature,
|
||||||
data: status,
|
data: status,
|
||||||
auditUser,
|
auditUser,
|
||||||
@ -200,13 +202,18 @@ export class FeatureLifecycleService extends EventEmitter {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
public async featureUnCompleted(feature: string, auditUser: IAuditUser) {
|
public async featureUncompleted(
|
||||||
|
feature: string,
|
||||||
|
projectId: string,
|
||||||
|
auditUser: IAuditUser,
|
||||||
|
) {
|
||||||
await this.featureLifecycleStore.deleteStage({
|
await this.featureLifecycleStore.deleteStage({
|
||||||
feature,
|
feature,
|
||||||
stage: 'completed',
|
stage: 'completed',
|
||||||
});
|
});
|
||||||
await this.eventService.storeEvent(
|
await this.eventService.storeEvent(
|
||||||
new FeatureUncompletedEvent({
|
new FeatureUncompletedEvent({
|
||||||
|
project: projectId,
|
||||||
featureName: feature,
|
featureName: feature,
|
||||||
auditUser,
|
auditUser,
|
||||||
}),
|
}),
|
||||||
|
@ -722,29 +722,35 @@ export class FeatureTagImport extends BaseEvent {
|
|||||||
export class FeatureCompletedEvent extends BaseEvent {
|
export class FeatureCompletedEvent extends BaseEvent {
|
||||||
readonly featureName: string;
|
readonly featureName: string;
|
||||||
readonly data: FeatureLifecycleCompletedSchema;
|
readonly data: FeatureLifecycleCompletedSchema;
|
||||||
|
readonly project: string;
|
||||||
|
|
||||||
constructor(p: {
|
constructor(p: {
|
||||||
|
project: string;
|
||||||
featureName: string;
|
featureName: string;
|
||||||
data: FeatureLifecycleCompletedSchema;
|
data: FeatureLifecycleCompletedSchema;
|
||||||
auditUser: IAuditUser;
|
auditUser: IAuditUser;
|
||||||
}) {
|
}) {
|
||||||
super(FEATURE_COMPLETED, p.auditUser);
|
super(FEATURE_COMPLETED, p.auditUser);
|
||||||
const { featureName, data } = p;
|
const { featureName, data, project } = p;
|
||||||
this.featureName = featureName;
|
this.featureName = featureName;
|
||||||
this.data = data;
|
this.data = data;
|
||||||
|
this.project = project;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class FeatureUncompletedEvent extends BaseEvent {
|
export class FeatureUncompletedEvent extends BaseEvent {
|
||||||
readonly featureName: string;
|
readonly featureName: string;
|
||||||
|
readonly project: string;
|
||||||
|
|
||||||
constructor(p: {
|
constructor(p: {
|
||||||
featureName: string;
|
featureName: string;
|
||||||
auditUser: IAuditUser;
|
auditUser: IAuditUser;
|
||||||
|
project: string;
|
||||||
}) {
|
}) {
|
||||||
super(FEATURE_UNCOMPLETED, p.auditUser);
|
super(FEATURE_UNCOMPLETED, p.auditUser);
|
||||||
const { featureName } = p;
|
const { featureName, project } = p;
|
||||||
this.featureName = featureName;
|
this.featureName = featureName;
|
||||||
|
this.project = project;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user