<?php

declare(strict_types=1);

namespace App\Dto\Employees;

use Symfony\Component\Serializer\Attribute\Groups;

final class ContractHistoryItem
{
    public function __construct(
        #[Groups(['employee:read'])]
        public ?int $contractId,
        #[Groups(['employee:read'])]
        public ?string $contractName,
        #[Groups(['employee:read'])]
        public ?float $weeklyHours,
        #[Groups(['employee:read'])]
        public string $contractNature,
        #[Groups(['employee:read'])]
        public string $startDate,
        #[Groups(['employee:read'])]
        public ?string $endDate,
        #[Groups(['employee:read'])]
        public ?string $comment = null,
        #[Groups(['employee:read'])]
        public ?int $periodId = null,
        #[Groups(['employee:read'])]
        public array $suspensions = [],
        #[Groups(['employee:read'])]
        public bool $isDriver = false,
        /**
         * @var null|array<int, int> iso-day → minutes
         */
        #[Groups(['employee:read'])]
        public ?array $workDaysHours = null,
        #[Groups(['employee:read'])]
        public ?int $interimAgencyId = null,
        #[Groups(['employee:read'])]
        public ?string $interimAgencyName = null,
    ) {}
}
