singleloginsystem/app/Livewire/Forms/StoreConnectedAppFrom.php
= f90655bc43 refactor: enhance ConnectionStatus handling and remove redundant logo field
- Added `ConnectionStatusData` DTO and `ConnectionStatusService` for managing connection statuses with mapped enums.
- Updated `ConnectedAppFactory` and Livewire `StoreConnectedAppForm` to integrate `ConnectionStatusData` and remove `logoUrl` field.
- Adjusted `ConnectedApp` model to rename columns for consistency.
- Implemented error handling in `ConnectedAppService::create()` for improved resilience.
- Updated Blade templates and composer dependencies for compatibility.
2026-05-14 06:22:40 +00:00

41 lines
1.1 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Livewire\Forms;
use App\Data\ConnectedApp\ConnectAppRequest;
use App\Services\ConnectedAppService;
use Livewire\Attributes\Validate;
use Livewire\Form;
class StoreConnectedAppFrom extends Form
{
#[Validate('required|string|max:255|min:3')]
public string $name = '';
#[Validate('required|numeric|min:1|exists:connection_providers,id')]
public int $providerId = 0;
#[Validate('required|numeric|min:1|exists:connection_protocols,id')]
public int $protocolId = 0;
#[Validate('required|numeric|min:1|exists:connection_statuses,id')]
public int $statusId = 0;
public function save(): void
{
$this->validate();
$serviceData = new ConnectAppRequest(
name: $this->name,
connectionProviderId: $this->providerId,
connectionProtocolId: $this->protocolId,
slug: str($this->name)->slug()->toString(),
connectionStatusId: $this->statusId,
);
app(ConnectedAppService::class)->create($serviceData);
$this->reset();
}
}