1
0
mirror of https://github.com/Unleash/unleash.git synced 2025-08-23 13:46:45 +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 { handleEvent(eventName: string): (event: IEvent) => void {
const { addonProviders } = this; const { addonProviders } = this;
return (event) => { return (event) => {
this.fetchAddonConfigs() this.fetchAddonConfigs().then((addonInstances) => {
.then((addonInstances) => { addonInstances
addonInstances .filter((addon) => addon.events.includes(eventName))
.filter((addon) => addon.events.includes(eventName)) .filter(
.filter( (addon) =>
(addon) => !event.project ||
!event.project || !addon.projects ||
!addon.projects || addon.projects.length === 0 ||
addon.projects.length === 0 || addon.projects[0] === WILDCARD_OPTION ||
addon.projects[0] === WILDCARD_OPTION || addon.projects.includes(event.project),
addon.projects.includes(event.project), )
) .filter(
.filter( (addon) =>
(addon) => !event.environment ||
!event.environment || !addon.environments ||
!addon.environments || addon.environments.length === 0 ||
addon.environments.length === 0 || addon.environments[0] === WILDCARD_OPTION ||
addon.environments[0] === WILDCARD_OPTION || addon.environments.includes(event.environment),
addon.environments.includes(event.environment), )
) .filter((addon) => addonProviders[addon.provider])
.filter((addon) => addonProviders[addon.provider]) .forEach((addon) =>
.forEach((addon) => addonProviders[addon.provider].handleEvent(
addonProviders[addon.provider].handleEvent( event,
event, addon.parameters,
addon.parameters, addon.id,
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,
);
}
});
}; };
} }