<?php

namespace App\Dto\Input;

use Symfony\Component\Serializer\Annotation\Groups;
use Symfony\Component\Validator\Constraints as Assert;
use OpenApi\Annotations as OA;

/**
 * @OA\Schema(
 *     description="Datos de entrada para obtener los commits de un repositorio Git",
 *     required={"repositoryName", "branch"}
 * )
 */
final class GetCommitsInput
{
    /**
     * @OA\Property(
     *     description="Nombre del repositorio Git",
     *     example="demo-oggit"
     * )
     */
    #[Groups(['repository:write'])]
    #[Assert\NotBlank(message: 'El nombre del repositorio es requerido')]
    public ?string $repositoryName = null;

    /**
     * @OA\Property(
     *     description="Nombre de la rama del repositorio",
     *     example="main"
     * )
     */
    #[Groups(['repository:write'])]
    #[Assert\NotBlank(message: 'El nombre de la rama es requerido')]
    public ?string $branch = null;
} 