import { IsString, IsNotEmpty, IsOptional, IsNumber, IsArray } from 'class-validator'

export class GenerateInvoiceDto {
  @IsString() @IsNotEmpty()
  matterId: string

  @IsString() @IsNotEmpty()
  clientFolderId: string

  @IsArray() @IsString({ each: true })
  timeEntryIds: string[]

  @IsOptional() @IsArray() @IsString({ each: true })
  expenseIds?: string[]

  @IsOptional() @IsNumber()
  vatRate?: number

  @IsOptional() @IsString()
  notes?: string

  @IsString() @IsNotEmpty()
  createdBy: string
}
