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

Extends

TalyBusinessEventService

Relationships

Used by

No results matching.

Index

Methods

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

results matching ""

    No results matching ""