- 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.
41 lines
1.1 KiB
PHP
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();
|
|
}
|
|
}
|