import { ApiProperty } from "@nestjs/swagger";
import { IsOptional, IsString, Matches } from "class-validator";

export class GenerateInvoiceDto {
  @ApiProperty({
    example: "mer_01h…",
    description:
      "Si se omite, se genera para todos los comercios activos con plan vigente.",
    required: false,
  })
  @IsOptional()
  @IsString()
  merchantId?: string;

  @ApiProperty({
    example: "2026-05",
    description:
      "Período YYYY-MM a facturar. Default: mes calendario anterior al actual (UTC).",
    required: false,
  })
  @IsOptional()
  @IsString()
  @Matches(/^\d{4}-(0[1-9]|1[0-2])$/, {
    message: "period debe tener formato YYYY-MM",
  })
  period?: string;
}
