libs/pfe-connector/src/lib/pfe-business-event.service.ts
No results matching.
Methods |
| handleBusinessEvent | |||||||||
handleBusinessEvent(businessEventConfig: BusinessEventConfig, deferred?: Deferred)
|
|||||||||
|
Inherited from
TalyBusinessEventService
|
|||||||||
|
Parameters :
Returns :
void
|
import { PfeActionsService, PfeBusinessService } from '@allianz/ngx-pfe';
import {
BusinessEventConfig,
BusinessEventServiceActivatorConfig,
TalyBusinessEventService,
Deferred
} from '@allianz/taly-core';
import { Injectable, inject } from '@angular/core';
@Injectable()
export class PfeBusinessEventService extends TalyBusinessEventService {
private pfeBusinessService = inject(PfeBusinessService);
private pfeActionsService = inject(PfeActionsService);
handleBusinessEvent(businessEventConfig: BusinessEventConfig, deferred?: Deferred) {
const isLegacyServiceActivatorBusinessEvent = typeof businessEventConfig === 'string';
const isServiceActivator =
isLegacyServiceActivatorBusinessEvent ||
businessEventConfig.handlerType === 'PFE_SERVICE_ACTIVATOR';
if (isServiceActivator) {
const businessEventPayload: string | BusinessEventServiceActivatorConfig =
isLegacyServiceActivatorBusinessEvent ? businessEventConfig : businessEventConfig.config;
this.pfeBusinessService
.triggerSingleServiceActivator(businessEventPayload)
.then(() => {
deferred?.resolve();
})
.catch((error: Error) => {
deferred?.reject(error);
});
} else {
this.pfeActionsService
.executeAction(businessEventConfig.config)
.then(() => {
deferred?.resolve();
})
.catch((error: Error) => {
deferred?.reject(error);
});
}
}
}