$validated */ public function storeAndQueueIntegrations(PreregistrationPage $page, array $validated): Subscriber { $subscriber = $page->subscribers()->create($validated); $page->loadMissing('weeztixConfig', 'mailwizzConfig'); $weeztix = $page->weeztixConfig; if ($this->weeztixCanIssueCodes($weeztix)) { IssueWeeztixCouponForSubscriber::dispatch($subscriber); } elseif ($page->mailwizzConfig !== null) { SyncSubscriberToMailwizz::dispatch($subscriber->fresh()); } return $subscriber; } private function weeztixCanIssueCodes(?WeeztixConfig $config): bool { if ($config === null || ! $config->is_connected) { return false; } $company = $config->company_guid; $coupon = $config->coupon_guid; return is_string($company) && $company !== '' && is_string($coupon) && $coupon !== ''; } }