import { getImageRoute } from '@/adapters/getImageRoute.adapter';
import type { CarDTO } from '@/schemas/car.schema';
import type { Car } from '@/types/detailed-car.types';

export function toCarDetailed(car: CarDTO): Car {
  return {
    id: car.id,
    slug: car.slug,

    // Información principal
    name: car.name ?? '',

    priceUsd: car.price_label ? car.price_label : 'Consultar precio',
    year: car.year ?? '',
    mileageKm: car.kilometers ?? car.prior_mileage ?? 0,

    images: [getImageRoute(car.main_image), ...car.images.map((s) => getImageRoute(s.filename))],
    description: car.description ?? '',

    // Datos destacados
    highlights: {
      powerCv: car.power_output ?? 0,
      engine: car.engine_type ?? '',
      vehicleType: car.vehicle_type ?? '',
    },

    // Especificaciones detalladas
    specs: {
      color: car.color ?? '',
      engine: car.engine_type ?? '',
      engineSize: car.engine_size ?? '',
      powerCv: car.power_output ?? 0,
      torqueNm: car.torque ?? '',
      transmission: car.transmission ?? '',
      wheels: car.wheels ?? '',
    },
  };
}
