'onPirepAccept', PirepRejected::class => 'onPirepReject', ]; public function __construct(PirepFinanceService $financeSvc) { $this->financeSvc = $financeSvc; } /** * Kick off the finance events when a PIREP is accepted * * @param PirepAccepted $event * * @throws \UnexpectedValueException * @throws \InvalidArgumentException * @throws \Exception * @throws \Prettus\Validator\Exceptions\ValidatorException */ public function onPirepAccept(PirepAccepted $event): void { $this->financeSvc->processFinancesForPirep($event->pirep); } /** * Delete all finances in the journal for a given PIREP * * @param PirepRejected $event * * @throws \UnexpectedValueException * @throws \InvalidArgumentException * @throws \Exception */ public function onPirepReject(PirepRejected $event): void { $this->financeSvc->deleteFinancesForPirep($event->pirep); } }