import { PrismaClient } from '@prisma/client'

const prisma = new PrismaClient()

type Seed = {
  slug: string; title: string; description: string; category: string
  assetType?: string; stage?: string; country: string; region?: string; city?: string
  lat?: number; lng?: number; priceUsd?: number; surfaceHa?: number; concessionCount?: number
  verified: boolean; imageSeed: string; commodities: { c: string; primary?: boolean }[]; deals: string[]
}

const listings: Seed[] = [
  {
    slug: 'cerro-del-viento-deseado-santa-cruz',
    title: 'Proyecto Cerro del Viento — Ag–Au epitermal en Macizo del Deseado, Santa Cruz',
    description: 'Proyecto epitermal de plata y oro en el prolífico Macizo del Deseado. Vetas de baja sulfuración con anomalías superficiales y sondajes históricos. Oportunidad de exploración avanzada con infraestructura cercana.',
    category: 'ACTIVO', assetType: 'CONCESION_MINERA', stage: 'EXPLORACION_AVANZADA',
    country: 'AR', region: 'Santa Cruz', city: 'Puerto San Julián', lat: -49.31, lng: -67.73,
    priceUsd: 2_400_000, surfaceHa: 4800, concessionCount: 6, verified: true, imageSeed: 'cerro-viento',
    commodities: [{ c: 'AG', primary: true }, { c: 'AU' }], deals: ['VENTA_100', 'EARN_IN'],
  },
  {
    slug: 'veta-esperanza-combarbala-coquimbo',
    title: 'Proyecto Veta Esperanza — Cu–Au IOCG en Combarbalá, Coquimbo',
    description: 'Sistema IOCG de cobre-oro con veta principal expuesta y continuidad en profundidad. Muestreos con leyes atractivas de CuT. Apto para venta total o joint venture.',
    category: 'ACTIVO', assetType: 'CONCESION_MINERA', stage: 'EXPLORACION_AVANZADA',
    country: 'CL', region: 'Coquimbo', city: 'Combarbalá', lat: -31.18, lng: -71.0,
    priceUsd: 1_800_000, surfaceHa: 100, concessionCount: 2, verified: true, imageSeed: 'veta-esperanza',
    commodities: [{ c: 'CU', primary: true }, { c: 'AU' }], deals: ['VENTA_100', 'EARN_IN'],
  },
  {
    slug: 'la-laura-vicuna-coquimbo',
    title: 'Proyecto La Laura — Oro, Cobre y Plata en Vicuña, Región de Coquimbo',
    description: 'Propiedad polimetálica en el valle de Elqui con presencia de oro, cobre y plata. Acceso por camino y cercanía a servicios. Etapa de exploración básica con potencial de crecimiento.',
    category: 'ACTIVO', assetType: 'CONCESION_MINERA', stage: 'EXPLORACION_BASICA',
    country: 'CL', region: 'Coquimbo', city: 'Vicuña', lat: -30.03, lng: -70.71,
    priceUsd: 1_300_000, surfaceHa: 300, concessionCount: 3, verified: false, imageSeed: 'la-laura',
    commodities: [{ c: 'AU', primary: true }, { c: 'CU' }, { c: 'AG' }], deals: ['VENTA_100'],
  },
  {
    slug: 'cobre-subterraneo-180ha-desarrollo-avanzado',
    title: 'Proyecto subterráneo de cobre con 180 ha de pertenencias y desarrollo avanzado',
    description: 'Mina subterránea de cobre con labores de desarrollo avanzadas y 180 hectáreas de pertenencias. Lista para reactivación productiva con plan minero definido.',
    category: 'ACTIVO', assetType: 'CONCESION_MINERA', stage: 'PRE_DESARROLLO',
    country: 'CL', region: 'Coquimbo', city: 'Río Hurtado', lat: -30.29, lng: -70.71,
    priceUsd: 3_200_000, surfaceHa: 180, concessionCount: 4, verified: true, imageSeed: 'cobre-subterraneo',
    commodities: [{ c: 'CU', primary: true }], deals: ['VENTA_100', 'PARTICIPACION_ACCIONARIA'],
  },
  {
    slug: 'concesion-cu-au-canela-90ha',
    title: 'Concesión de Explotación Cu–Au en Canela (Choapa) — 90 ha',
    description: 'Concesión de explotación de cobre y oro en Canela, provincia de Choapa. 90 hectáreas con vetas reconocidas y buena accesibilidad.',
    category: 'ACTIVO', assetType: 'CONCESION_MINERA', stage: 'EXPLORACION_AVANZADA',
    country: 'CL', region: 'Coquimbo', city: 'Canela', lat: -31.39, lng: -71.45,
    priceUsd: 950_000, surfaceHa: 90, concessionCount: 1, verified: false, imageSeed: 'canela-90',
    commodities: [{ c: 'CU', primary: true }, { c: 'AU' }], deals: ['VENTA_100'],
  },
  {
    slug: 'cu-au-canela-100ha-veta-principal',
    title: 'Proyecto Cu–Au en Canela (Choapa) — 100 ha, veta principal +600 m y muestreos hasta 8% CuT',
    description: 'Proyecto de cobre-oro en Canela con veta principal de más de 600 m de corrida y muestreos de hasta 8% CuT. 100 hectáreas con fuerte potencial.',
    category: 'ACTIVO', assetType: 'CONCESION_MINERA', stage: 'EXPLORACION_AVANZADA',
    country: 'CL', region: 'Coquimbo', city: 'Canela', lat: -31.4, lng: -71.46,
    priceUsd: 1_500_000, surfaceHa: 100, concessionCount: 2, verified: true, imageSeed: 'canela-100',
    commodities: [{ c: 'CU', primary: true }, { c: 'AU' }], deals: ['VENTA_100', 'EARN_IN'],
  },
  {
    slug: 'cu-au-iocg-canela-baja',
    title: 'Proyecto Cu–Au IOCG Canela Baja (Coquimbo) — veta de alta ley con potencial en profundidad',
    description: 'Sistema IOCG en Canela Baja con veta de alta ley y continuidad esperada en profundidad. Oportunidad para socio explorador.',
    category: 'ACTIVO', assetType: 'CONCESION_MINERA', stage: 'EXPLORACION_BASICA',
    country: 'CL', region: 'Coquimbo', city: 'Canela', lat: -31.42, lng: -71.48,
    priceUsd: 1_100_000, surfaceHa: 120, concessionCount: 2, verified: false, imageSeed: 'canela-baja',
    commodities: [{ c: 'CU', primary: true }, { c: 'AU' }], deals: ['EARN_IN', 'OPCION_COMPRA'],
  },
  {
    slug: 'loma-del-medio-canela-100ha',
    title: 'IV Región de Coquimbo (Choapa), Canela — sector Loma del Medio, 100 ha, mineralización Cu-Au-Ag',
    description: 'Sector Loma del Medio en Canela: 100 ha con mineralización Cu-Au-Ag, muestreos con CuT >1.40%, Au +1.49 g/t y Ag +27.32 g/t, y plan minero vigente hasta 5.500 t/mes.',
    category: 'ACTIVO', assetType: 'CONCESION_MINERA', stage: 'PRE_DESARROLLO',
    country: 'CL', region: 'Coquimbo', city: 'Canela', lat: -31.41, lng: -71.47,
    priceUsd: 2_900_000, surfaceHa: 100, concessionCount: 3, verified: true, imageSeed: 'loma-medio',
    commodities: [{ c: 'CU', primary: true }, { c: 'AU' }, { c: 'AG' }], deals: ['VENTA_100', 'PARTICIPACION_ACCIONARIA'],
  },
  {
    slug: 'cobre-alta-ley-petorca-817ha',
    title: 'Cobre de alta ley en Chile Central (Petorca) — 817 ha, anomalías hasta 4.4% CuT',
    description: 'Propiedad de 817 hectáreas en Petorca, Chile Central, con anomalías de cobre de hasta 4.4% CuT. Gran superficie para exploración sistemática.',
    category: 'ACTIVO', assetType: 'CONCESION_MINERA', stage: 'EXPLORACION_BASICA',
    country: 'CL', region: 'Valparaíso', city: 'Petorca', lat: -32.25, lng: -70.93,
    priceUsd: 4_200_000, surfaceHa: 817, concessionCount: 8, verified: false, imageSeed: 'petorca-817',
    commodities: [{ c: 'CU', primary: true }], deals: ['VENTA_100', 'EARN_IN'],
  },
  {
    slug: 'litio-salar-norte-prospecto',
    title: 'Prospecto de litio en salar, Norte de Chile — pertenencias para exploración',
    description: 'Pertenencias en zona de salar del norte de Chile con potencial de litio en salmuera. Etapa de prospección, ideal para socio con capacidad de exploración.',
    category: 'ACTIVO', assetType: 'TERRENO_PROYECTO', stage: 'PROSPECCION',
    country: 'CL', region: 'Antofagasta', city: 'Calama', lat: -22.46, lng: -68.93,
    priceUsd: 5_500_000, surfaceHa: 2500, concessionCount: 12, verified: false, imageSeed: 'litio-salar',
    commodities: [{ c: 'LI', primary: true }], deals: ['EARN_IN', 'PARTICIPACION_ACCIONARIA'],
  },
  {
    slug: 'oro-epitermal-jujuy',
    title: 'Proyecto de oro epitermal en Jujuy, Argentina — exploración con sondajes históricos',
    description: 'Proyecto epitermal de oro en la Puna de Jujuy con sondajes históricos y anomalías geoquímicas. Oportunidad de farm-in para avanzar el modelo.',
    category: 'ACTIVO', assetType: 'CONCESION_MINERA', stage: 'EXPLORACION_AVANZADA',
    country: 'AR', region: 'Jujuy', city: 'Susques', lat: -23.4, lng: -66.37,
    priceUsd: 3_800_000, surfaceHa: 3200, concessionCount: 5, verified: true, imageSeed: 'oro-jujuy',
    commodities: [{ c: 'AU', primary: true }, { c: 'AG' }], deals: ['FARM_IN', 'VENTA_100'],
  },
  {
    slug: 'planta-procesamiento-flotacion-coquimbo',
    title: 'Planta de procesamiento por flotación en Coquimbo — infraestructura lista',
    description: 'Planta de flotación con infraestructura instalada y permisos vigentes en la Región de Coquimbo. Disponible para venta o arriendo a productores de la zona.',
    category: 'ACTIVO', assetType: 'INFRAESTRUCTURA_PLANTA', stage: 'PRODUCCION',
    country: 'CL', region: 'Coquimbo', city: 'Ovalle', lat: -30.6, lng: -71.2,
    priceUsd: 6_500_000, surfaceHa: 5, verified: true, imageSeed: 'planta-flotacion',
    commodities: [{ c: 'CU', primary: true }, { c: 'AU' }], deals: ['VENTA_100', 'ARRIENDO'],
  },
  {
    slug: 'relave-reprocesamiento-atacama',
    title: 'Relave para reprocesamiento en Atacama — recuperación de Cu y Au',
    description: 'Depósito de relaves con contenido recuperable de cobre y oro en la Región de Atacama. Oportunidad de reprocesamiento con tecnología moderna.',
    category: 'ACTIVO', assetType: 'RELAVE_RIPIO_ESCORIA', stage: 'PRE_DESARROLLO',
    country: 'CL', region: 'Atacama', city: 'Copiapó', lat: -27.37, lng: -70.33,
    priceUsd: 2_100_000, surfaceHa: 40, verified: false, imageSeed: 'relave-atacama',
    commodities: [{ c: 'CU', primary: true }, { c: 'AU' }], deals: ['VENTA_100', 'OFF_TAKE'],
  },
]

async function main() {
  await prisma.listingDealType.deleteMany()
  await prisma.listingCommodity.deleteMany()
  await prisma.listing.deleteMany()

  for (const l of listings) {
    await prisma.listing.create({
      data: {
        slug: l.slug, title: l.title, description: l.description, category: l.category,
        assetType: l.assetType, stage: l.stage, country: l.country, region: l.region, city: l.city,
        lat: l.lat, lng: l.lng, priceUsd: l.priceUsd, surfaceHa: l.surfaceHa,
        concessionCount: l.concessionCount, verified: l.verified, imageSeed: l.imageSeed,
        commodities: { create: l.commodities.map((c) => ({ commodity: c.c, isPrimary: !!c.primary })) },
        dealTypes: { create: l.deals.map((d) => ({ dealType: d })) },
      },
    })
  }
  const count = await prisma.listing.count()
  console.log(`Seed completado: ${count} oportunidades.`)
}

main().catch((e) => { console.error(e); process.exit(1) }).finally(() => prisma.$disconnect())
