service = $service; } public function mount(int $id): void { $this->attempt( action: function () use ($id) { $record = $this->service->getConnectedApp($id); $this->form->set($record); $this->recordId = $id; }, onError: function () { $this->redirectRoute('apps.index', navigate: true); }, showSuccess: false ); } #[Computed] public function providers() { return ConnectionProvider::query()->get(); } #[Computed] public function protocols(): Collection { $protocolService = app(ConnectionProtocolService::class); return $protocolService->getAll()->map(function (ConnectionProtocol $protocol) { $protocol->name = strtoupper($protocol->name); return $protocol; }); } /** * @returns DataCollection */ #[Computed] public function connectionStatuses(): DataCollection { $statusService = app(ConnectionStatusService::class); return $statusService->getAll(); } public function save(): void { $this->attempt( action: function () { $this->form->validate(); $serviceData = new ConnectAppRequest( name: $this->form->name, connectionProviderId: $this->form->providerId, connectionProtocolId: $this->form->protocolId, slug: str($this->form->name)->slug()->toString(), connectionStatusId: $this->form->statusId, ); $this->service->update($this->recordId, $serviceData); $this->redirectRoute('apps.index', navigate: true); }, ); } }; ?>
{{ __('Cancel') }} {{ __('Save') }}