import { ApiProperty } from '@nestjs/swagger';
import { IsIn, IsOptional } from 'class-validator';
import {
  OrderPaymentMethod,
  OrderPaymentStatus,
  OrderStatus,
} from '../entities/order.entity';

export class UpdateOrderStatusDto {
  @ApiProperty({ required: false, enum: OrderStatus })
  @IsOptional()
  @IsIn(Object.values(OrderStatus))
  orderStatusCode: OrderStatus;

  @ApiProperty({ required: false, enum: OrderPaymentStatus })
  @IsOptional()
  @IsIn(Object.values(OrderPaymentStatus))
  paymentStatusCode: OrderPaymentStatus;

  @ApiProperty({
    required: false,
    enum: OrderPaymentMethod,
    example: OrderPaymentMethod.online,
  })
  @IsOptional()
  @IsIn(Object.values(OrderPaymentMethod))
  paymentMethodSystemName: OrderPaymentMethod;

  @ApiProperty({ required: false })
  @IsOptional()
  adminComment: string;
}
