import { ApiProperty } from '@nestjs/swagger';

export class CreateYachtDto {
  @ApiProperty({ example: 'Азимут 55', description: 'Название яхты' })
  name: string;

  @ApiProperty({ example: 16.7, description: 'Длина яхты в метрах' })
  length: number;

  @ApiProperty({ example: 32, description: 'Скорость в узлах' })
  speed: number;

  @ApiProperty({ example: 85000, description: 'Минимальная стоимость аренды' })
  minCost: number;

  @ApiProperty({
    example: 'api/uploads/1765727362318-238005198.jpg',
    description: 'URL главного изображения',
  })
  mainImageUrl: string;

  @ApiProperty({
    type: [String],
    example: ['api/uploads/1765727362318-238005198.jpg'],
    description: 'URL галереи изображений',
  })
  galleryUrls: string[];

  @ApiProperty({ example: true, description: 'Доступна быстрая аренда' })
  hasQuickRent: boolean;

  @ApiProperty({ example: false, description: 'Рекомендуемая яхта' })
  isFeatured: boolean;

  @ApiProperty({ example: 2022, description: 'Год выпуска' })
  year: number;

  @ApiProperty({ example: 8, description: 'Комфортная вместимость' })
  comfortCapacity: number;

  @ApiProperty({ example: 12, description: 'Максимальная вместимость' })
  maxCapacity: number;

  @ApiProperty({ example: 4.8, description: 'Ширина в метрах' })
  width: number;

  @ApiProperty({ example: 3, description: 'Количество кают' })
  cabinsCount: number;

  @ApiProperty({ example: 'Стеклопластик', description: 'Материал корпуса' })
  matherial: string;

  @ApiProperty({ example: 1200, description: 'Мощность двигателя' })
  power: number;

  @ApiProperty({
    example: 'Роскошная моторная яхта...',
    description: 'Описание яхты',
  })
  description: string;

  @ApiProperty({ example: 1, description: 'ID владельца яхты' })
  userId: number;

  @ApiProperty({
    required: false,
    example: '🔥 Лучшее предложение',
    description: 'Текст для отображения сверху',
  })
  topText?: string;
}
