<?php

namespace App\Dto\Input;

use ApiPlatform\Metadata\ApiProperty;
use App\Dto\Output\ClientOutput;
use App\Dto\Output\OrganizationalUnitOutput;
use Symfony\Component\Serializer\Annotation\Groups;
use Symfony\Component\Validator\Constraints as Assert;

final class ChangeOrganizationalUnitInput
{
    /**
     * @var ClientOutput[]
     */
    #[Assert\GreaterThan(1)]
    #[Groups(['client:write'])]
    #[ApiProperty(
        description: 'Los clientes a mover (mínimo 2)',
        example: []
    )]
    public ?array $clients = [];

    #[Assert\NotNull]
    #[Groups(['client:write'])]
    #[ApiProperty(
        description: 'La nueva unidad organizativa de destino',
        example: null
    )]
    public ?OrganizationalUnitOutput $organizationalUnit = null;
}