import * as mongoose from 'mongoose';
import * as dotenv from 'dotenv';
dotenv.config();

const bodyParts = [
  { name: { en: 'Chest',       de: 'Brust' } },
  { name: { en: 'Back',        de: 'Rücken' } },
  { name: { en: 'Lats',        de: 'Latissimus' } },
  { name: { en: 'Lower Back',  de: 'Unterer Rücken' } },
  { name: { en: 'Trapezius',   de: 'Trapezmuskel' } },
  { name: { en: 'Shoulders',   de: 'Schultern' } },
  { name: { en: 'Biceps',      de: 'Bizeps' } },
  { name: { en: 'Triceps',     de: 'Trizeps' } },
  { name: { en: 'Forearms',    de: 'Unterarme' } },
  { name: { en: 'Abs / Core',  de: 'Bauch / Rumpf' } },
  { name: { en: 'Obliques',    de: 'Seitliche Bauchmuskeln' } },
  { name: { en: 'Glutes',      de: 'Gesäß' } },
  { name: { en: 'Quadriceps',  de: 'Quadrizeps' } },
  { name: { en: 'Hamstrings',  de: 'Oberschenkelrückseite' } },
  { name: { en: 'Calves',      de: 'Waden' } },
  { name: { en: 'Adductors',   de: 'Adduktoren' } },
  { name: { en: 'Abductors',   de: 'Abduktoren' } },
  { name: { en: 'Hip Flexors', de: 'Hüftbeuger' } },
  { name: { en: 'Neck',        de: 'Nacken' } },
  { name: { en: 'Full Body',   de: 'Ganzkörper' } },
  { name: { en: 'Cardio',      de: 'Ausdauer' } },
];

async function run() {
  const uri = process.env.MONGO_URI || 'mongodb://localhost:27017/lifther';
  await mongoose.connect(uri);
  const db = mongoose.connection.db;
  console.log('Connected to DB:', uri);
  console.log(`Seeding ${bodyParts.length} body parts...`);

  let inserted = 0;
  let skipped = 0;

  for (const bp of bodyParts) {
    const exists = await db.collection('bodyparts').findOne({ 'name.en': bp.name.en });
    if (!exists) {
      await db.collection('bodyparts').insertOne({
        ...bp,
        status: 1,
        deleted_at: null,
        createdAt: new Date(),
        updatedAt: new Date(),
      });
      inserted++;
      console.log(`  ✅ Inserted: ${bp.name.en}`);
    } else {
      skipped++;
      console.log(`  ⏭️  Skipped (exists): ${bp.name.en}`);
    }
  }

  console.log(`\nDone! Inserted: ${inserted}, Skipped: ${skipped}`);
  await mongoose.disconnect();
}

run().catch((err) => {
  console.error('Seeder error:', err);
  process.exit(1);
});
