appService = $appService; } #[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()->map(function (ConnectionStatusData $status) { if ($status->name === ConnectionStatusEnum::Disconnected) { $this->form->statusId = $status->id; } return $status; }); } public function searchProvider(string $name) { $providerService = app(ConnectionProviderService::class); $this->providers = $providerService->search($name); } public function save(bool $goBack = true): void { $this->form->validate(); $data = 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->attempt( action: function () use ($data, $goBack) { $this->appService->create($data); $this->form->reset(); if ($goBack) { $this->goBack(); } } ); } public function create() { } public function goBack(): void { $this->redirectRoute('apps.index', navigate: true); } }; ?>
Cancel Save & Add Another Save