import { BaseCoreDto } from 'src/core/modules/infrastructure/dto/base-core.dto';
import { ItemRateEntity } from '../../domain/entities/item-rate.entity';
import { ApiProperty } from '@nestjs/swagger';
import { Exclude } from 'class-transformer';
import { ItemModel } from 'src/modules/item-related/item/data/models/item.model';
import { IsObject } from 'class-validator';

export class ItemRateDto extends BaseCoreDto implements ItemRateEntity {
  @Exclude()
  item_id: string;

  @ApiProperty({
    type: [Object],
    required: true,
    example: {
      id: 'uuid',
      name: 'Entrace Ticket',
    },
  })
  @IsObject()
  item: ItemModel;

  @Exclude()
  season_period_id: string;

  @ApiProperty({
    type: Number,
    required: true,
  })
  price: number;
}
