js-manager-new/src/app/Domain/User/Data/StoreRequest.php
2026-06-09 14:51:59 +03:00

35 lines
1.0 KiB
PHP

<?php
declare(strict_types=1);
namespace App\Domain\User\Data;
use Spatie\LaravelData\Attributes\MapName;
use Spatie\LaravelData\Attributes\Validation\Email;
use Spatie\LaravelData\Attributes\Validation\Exists;
use Spatie\LaravelData\Attributes\Validation\Required;
use Spatie\LaravelData\Attributes\Validation\StringType;
use Spatie\LaravelData\Attributes\Validation\Unique;
use Spatie\LaravelData\Attributes\Validation\Uuid as UuidValidation;
use Spatie\LaravelData\Data;
use Spatie\LaravelData\Mappers\SnakeCaseMapper;
#[MapName(SnakeCaseMapper::class)]
class StoreRequest extends Data
{
public function __construct(
#[StringType, Required]
public readonly string $name,
#[StringType, Email, Required, Unique('users', 'email')]
public readonly string $email,
#[StringType, Required]
public readonly string $password,
#[
UuidValidation,
Required,
Exists('roles', 'uuid')
]
public readonly string $role_uuid,
) {
}
}