1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-08-18 13:48:58 +02:00
This commit is contained in:
sjaanus 2025-07-03 11:37:22 +03:00
parent 311b8e09d0
commit 82ac856f04
No known key found for this signature in database
GPG Key ID: 20E007C0248BA7FF

View File

@ -137,47 +137,34 @@ export default class AddonService {
handleEvent(eventName: string): (event: IEvent) => void {
const { addonProviders } = this;
return (event) => {
this.fetchAddonConfigs()
.then((addonInstances) => {
addonInstances
.filter((addon) => addon.events.includes(eventName))
.filter(
(addon) =>
!event.project ||
!addon.projects ||
addon.projects.length === 0 ||
addon.projects[0] === WILDCARD_OPTION ||
addon.projects.includes(event.project),
)
.filter(
(addon) =>
!event.environment ||
!addon.environments ||
addon.environments.length === 0 ||
addon.environments[0] === WILDCARD_OPTION ||
addon.environments.includes(event.environment),
)
.filter((addon) => addonProviders[addon.provider])
.forEach((addon) =>
addonProviders[addon.provider].handleEvent(
event,
addon.parameters,
addon.id,
),
);
})
.catch((error) => {
if (error.message === 'aborted') {
this.logger.debug(
`Addon event handling aborted during shutdown for event ${eventName}`,
);
} else {
this.logger.warn(
`Failed to handle addon event ${eventName}:`,
error,
);
}
});
this.fetchAddonConfigs().then((addonInstances) => {
addonInstances
.filter((addon) => addon.events.includes(eventName))
.filter(
(addon) =>
!event.project ||
!addon.projects ||
addon.projects.length === 0 ||
addon.projects[0] === WILDCARD_OPTION ||
addon.projects.includes(event.project),
)
.filter(
(addon) =>
!event.environment ||
!addon.environments ||
addon.environments.length === 0 ||
addon.environments[0] === WILDCARD_OPTION ||
addon.environments.includes(event.environment),
)
.filter((addon) => addonProviders[addon.provider])
.forEach((addon) =>
addonProviders[addon.provider].handleEvent(
event,
addon.parameters,
addon.id,
),
);
});
};
}