$data->name, ]); try { DB::beginTransaction(); $logo = $this->logoUploader->store($data->logo); $appData = $this->connectedAppService->create( new ConnectAppRequest( name: $data->name, connectionProtocolId: ConnectionProtocol::query()->where('name', ConnectionProtocolEnum::URL->value)->first()->id, connectionProviderId: 0, slug: Str::slug($data->name), connectionStatusId: ConnectionStatus::query()->where('name', ConnectionStatusEnum::Connected->value)->first()->id, settings: [ 'access_url' => $data->accessUrl, 'is_connected_to_microsoft' => $data->isConnectedToMicrosoft, ], logo: $logo, ) ); DB::commit(); Log::info('URL app created', [ 'name' => $data->name, 'id' => $appData->id, ]); return $appData; } catch (Throwable $e) { DB::rollBack(); Log::error('Failed to create URL app', [ 'name' => $data->name, ]); throw $e; } } }