import {
  IsString,
  IsOptional,
  IsInt,
  IsNumber,
  IsDateString,
  IsBoolean,
} from 'class-validator';

export class CreateExpenseDto {
  @IsOptional()
  @IsInt()
  categoryId?: number;

  @IsDateString()
  expenseDate: string;

  @IsString()
  item: string;

  @IsOptional()
  @IsString()
  itemEn?: string;

  @IsNumber()
  amount: number;

  @IsOptional()
  @IsString()
  paymentMethod?: string;

  @IsOptional()
  @IsString()
  paymentMethodEn?: string;

  @IsOptional()
  @IsString()
  proof?: string;

  @IsOptional()
  @IsString()
  proofEn?: string;

  @IsOptional()
  @IsBoolean()
  autoImported?: boolean;

  @IsOptional()
  @IsString()
  status?: string;

  @IsOptional()
  @IsInt()
  linkedAccountId?: number;

  @IsOptional()
  @IsString()
  receiptUrl?: string;

  @IsOptional()
  @IsString()
  note?: string;
}
