import { IsInt, IsOptional, IsString, Length, Matches, Min } from 'class-validator';

export class PurchaseCafeCompanionChatTimeDto {
  @IsString({ message: '服务点ID必须是字符串' })
  @Length(1, 80, { message: '服务点ID长度需在1-80字符之间' })
  @Matches(/^[A-Za-z0-9_:-]+$/, { message: '服务点ID格式不正确' })
  service_point_id!: string;

  @IsOptional()
  @IsString({ message: '陪伴机器人ID必须是字符串' })
  @Length(1, 120, { message: '陪伴机器人ID长度需在1-120字符之间' })
  @Matches(/^[A-Za-z0-9_:-]+$/, { message: '陪伴机器人ID格式不正确' })
  companion_id?: string;

  @IsInt({ message: '聊天时长必须是整数分钟' })
  @Min(1, { message: '聊天时长必须大于0分钟' })
  minutes!: number;
}
