import { Injectable } from "@nestjs/common"
import { InjectRepository } from "@nestjs/typeorm"
import { Repository } from "typeorm"
import { languageConst } from "src/constants/languages.constant"
import { Language } from "twilio/lib/twiml/VoiceResponse"

@Injectable()
export class LanguageSeedService {
  constructor(
    @InjectRepository(Language)
    private readonly languageRepo: Repository<Language>,
  ) {}

  async run() {
    try {
      for (const lang of languageConst) {
        const exists = await this.languageRepo.findOne({
          where: { code: lang.code },
        })

        if (!exists) {
          const newLang = this.languageRepo.create(lang)
          await this.languageRepo.save(newLang)
          console.log(`Language ${lang.name} seeded successfully!`)
        } else {
          console.log(`Language ${lang.name} already exists, skipping...`)
        }
      }
    } catch (error) {
      console.error("Error seeding languages:", error)
    }
  }
}
