events as $event) { nlog($event['action']); $e = Arr::dot($event); if ($event['action'] === 'disconnected') { /** @var \App\Models\CompanyGateway $company_gateway */ $company_gateway = null; foreach (MultiDB::$dbs as $db) { if ( /** @var \App\Models\CompanyGateway $company_gateway */ $cg = CompanyGateway::on($db) ->where('settings->organisation_id', $e['links.organisation']) ->first() ) { $company_gateway = $cg; break; } } if ($company_gateway === null) { return abort(404); } $current = $company_gateway->getConfigField('__current'); $settings = $company_gateway->settings; $settings->organisation_id = null; $company_gateway->setSettings($settings); if ($current) { $company_gateway->setConfig($current); $company_gateway->save(); } $this->company_repository->archive($company_gateway); } } return response()->noContent(); } }