import { ApiProperty } from "@nestjs/swagger"
import { IsNotEmpty, IsNumber, IsOptional } from "class-validator"
import { messageKey } from "src/constants/message-keys"
import { validationMessage } from "src/utils/helpers"

export class ChatHistoryDto {
  @ApiProperty({
    example: 123,
    description: "ID of the chat room to get history for",
  })
  @IsNotEmpty({
    message: validationMessage(messageKey.field_required, {
      ":field": "chat_room_id",
    }),
  })
  @IsNumber()
  chat_room_id: number

  @ApiProperty({
    example: 10,
    description: "Number of messages to retrieve",
    required: false,
  })
  @IsOptional()
  @IsNumber()
  limit?: number = 50

  @ApiProperty({
    example: 0,
    description: "Number of messages to skip",
    required: false,
  })
  @IsOptional()
  @IsNumber()
  skip?: number = 0
}
