mandant-crm/backend/app/Modules/Client/DTOs/ClientData.php

34 lines
892 B
PHP
Raw Permalink Normal View History

<?php
namespace App\Modules\Client\DTOs;
use App\Modules\Client\Requests\CreateClientRequest;
use App\Modules\Client\Requests\UpdateClientRequest;
final class ClientData
{
public function __construct(
public readonly ?string $clientNumber,
public readonly ?string $name,
public readonly ?array $notes,
) {}
public static function fromCreateRequest(CreateClientRequest $request): self
{
return new self(
clientNumber: $request->validated('client_number'),
name: $request->validated('name'),
notes: $request->validated('notes'),
);
}
public static function fromUpdateRequest(UpdateClientRequest $request): self
{
return new self(
clientNumber: null,
name: $request->validated('name'),
notes: $request->validated('notes'),
);
}
}