35 lines
1.0 KiB
PHP
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,
|
|
) {
|
|
}
|
|
} |