import {
  IsDateString,
  IsEnum,
  IsMongoId,
  IsNotEmpty,
  IsNumber,
  IsOptional,
  IsString,
  Max,
  Min,
} from 'class-validator';

export class CreateTrainingCalloutDto {
  @IsString()
  @IsNotEmpty()
  title: string | undefined;

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

  @IsDateString()
  @IsNotEmpty()
  trainingDate: string;

  @IsMongoId()
  gymId?: string;

  @IsOptional()
  @IsNumber()
  @Min(1)
  @Max(50)
  maxParticipants?: number;

  @IsOptional()
  @IsEnum(['community', 'buddies'])
  visibleTo?: string;
}