import { ApiProperty } from '@nestjs/swagger';
import { IsIn, IsNotEmpty, ValidateIf } from 'class-validator';
import { PaymentGateway } from '../../payment/entities/payment.entity';

export class PayOrderByUserDto {
  @ApiProperty({ required: true })
  @IsNotEmpty()
  orderId: number;

  @ApiProperty({
    required: true,
    enum: PaymentGateway,
    example: PaymentGateway.meli,
  })
  @ValidateIf((p) => !p.cardToCardTrackingCode)
  @IsNotEmpty({ message: 'لطفا درگاه پرداخت را انتخاب نمایید' })
  @IsIn(Object.values(PaymentGateway))
  paymentGateway: PaymentGateway;

  @ApiProperty({ required: true })
  @ValidateIf((p) => !p.paymentGateway)
  @IsNotEmpty({
    message: 'لطفا شماره پیگیری رسید کارت به کارت خود را وارد نمایید',
  })
  cardToCardTrackingCode: string;
}
