File

libs/pfe-connector/src/lib/pfe-business-event.service.ts

Extends

TalyBusinessEventService

Index

Methods

Constructor

constructor(pfeBusinessService: PfeBusinessService, pfeActionsService: PfeActionsService)
Parameters :
Name Type Optional
pfeBusinessService PfeBusinessService No
pfeActionsService PfeActionsService No

Methods

handleBusinessEvent
handleBusinessEvent(businessEventConfig: BusinessEventConfig, deferred?: Deferred)
Inherited from TalyBusinessEventService
Parameters :
Name Type Optional
businessEventConfig BusinessEventConfig No
deferred Deferred Yes
Returns : void
import { PfeActionsService, PfeBusinessService } from '@allianz/ngx-pfe';
import {
  BusinessEventConfig,
  BusinessEventServiceActivatorConfig,
  Deferred,
  TalyBusinessEventService
} from '@allianz/taly-core';
import { Injectable } from '@angular/core';

@Injectable()
export class PfeBusinessEventService extends TalyBusinessEventService {
  constructor(
    private pfeBusinessService: PfeBusinessService,
    private pfeActionsService: PfeActionsService
  ) {
    super();
  }

  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);
        });
    }
  }
}

results matching ""

    No results matching ""