Files
haushalt/backend/src/DTO/TaskSchemaRequest.php
Marek Lenczewski 5198769de4 TaskSchema module
2026-04-12 15:42:48 +02:00

37 lines
1.0 KiB
PHP

<?php
namespace App\DTO;
use App\Enum\TaskSchemaStatus;
use App\Enum\TaskStatus;
use Symfony\Component\Serializer\Attribute\Context;
use Symfony\Component\Serializer\Normalizer\DateTimeNormalizer;
use Symfony\Component\Validator\Constraints as Assert;
class TaskSchemaRequest
{
public function __construct(
#[Assert\NotBlank]
#[Assert\Length(max: 255)]
public readonly string $name,
#[Assert\NotNull]
public readonly TaskSchemaStatus $status = TaskSchemaStatus::Active,
#[Assert\NotNull]
public readonly TaskStatus $taskStatus = TaskStatus::Active,
#[Context([DateTimeNormalizer::FORMAT_KEY => '!Y-m-d'])]
public readonly ?\DateTimeImmutable $date = null,
public readonly ?array $repeat = null,
#[Context([DateTimeNormalizer::FORMAT_KEY => '!Y-m-d'])]
public readonly ?\DateTimeImmutable $start = null,
#[Context([DateTimeNormalizer::FORMAT_KEY => '!Y-m-d'])]
public readonly ?\DateTimeImmutable $end = null,
) {
}
}