appService = $service; $this->logoUploader = $logoUploader; } public function mount(int $id): void { $this->authorize(AppPermissionEnum::Read->value); $this->appId = $id; $this->loadAppData(); } public function loadAppData(): void { $this->app = ConnectedApp::with(['protocol', 'status', 'roles'])->findOrFail($this->appId); } public function changeStatus(string $statusName): void { $this->authorize(AppPermissionEnum::Update->value); $this->attempt( action: function () use ($statusName) { $statusId = ConnectionStatus::where('name', $statusName)->firstOrFail()->id; $request = new ConnectAppRequest( name: $this->app->name, connectionProtocolId: $this->app->connection_protocol_id, connectionProviderId: $this->app->connection_provider_id, slug: $this->app->slug, connectionStatusId: $statusId, settings: $this->app->settings, logo: $this->app->logo, ); $this->appService->update($this->app->id, $request); $this->loadAppData(); }, successMessage: 'Application status updated successfully!' ); } public function goBack(): void { $this->redirectRoute('apps.index', navigate: true); } public function openEditGeneralModal(): void { $this->editName = $this->app->name; $this->editLogo = null; $this->editGeneralModal = true; } public function saveGeneralInfo(): void { $this->authorize(AppPermissionEnum::Update->value); $this->validate([ 'editName' => 'required|string|max:255', 'editLogo' => 'nullable|image|max:2048', ]); $this->attempt( action: function () { $logoPath = $this->editLogo ? $this->logoUploader->store($this->editLogo) : $this->app->logo; $request = new ConnectAppRequest( name: $this->editName, connectionProtocolId: $this->app->connection_protocol_id, connectionProviderId: $this->app->connection_provider_id, slug: \Illuminate\Support\Str::slug($this->editName), connectionStatusId: $this->app->connection_status_id, settings: $this->app->settings, logo: $logoPath, ); $this->appService->update($this->app->id, $request); $this->editGeneralModal = false; $this->success('Application updated successfully!'); $this->loadAppData(); } ); } public function startEditAccessUrl(): void { $this->editAccessUrl = data_get($this->app, 'settings.access_url', ''); $this->editAccessUrlMode = true; } public function cancelEditAccessUrl(): void { $this->editAccessUrlMode = false; } public function saveAccessUrl(): void { $this->authorize(AppPermissionEnum::Update->value); $this->validate([ 'editAccessUrl' => 'required|url|max:255', ]); $this->attempt( action: function () { $settings = $this->app->settings ?? []; $settings['access_url'] = $this->editAccessUrl; $request = new ConnectAppRequest( name: $this->app->name, connectionProtocolId: $this->app->connection_protocol_id, connectionProviderId: $this->app->connection_provider_id, slug: $this->app->slug, connectionStatusId: $this->app->connection_status_id, settings: $settings, logo: $this->app->logo, ); $this->appService->update($this->app->id, $request); $this->editAccessUrlMode = false; $this->success('Access URL updated successfully!'); $this->loadAppData(); } ); } }; ?>
Protocol: {{ strtoupper($app->protocol->name) }}
| Role Name | Priority | Access Type |
|---|---|---|
| {{ $role->name }} | {{ $role->priority }} | SSO Access |
| No specific roles assigned. Accessible by everyone depending on user access setting. | ||