import { NestFactory } from "@nestjs/core"
import { SeedModule } from "./seed.module"
import { AdminSeedService } from "./admin/admin-seed.service"
import { RoleSeedService } from "./role/role-seed.service"
import { CategorySeedService } from "./category/category-seed.service"
import { CompanySeedService } from "./company/company-seed.service"
import { PermissionsSeedService } from "./permissions/permissions-seed.service"
import { FlagSeedService } from "./flag/flag-seed.service"

const runSeed = async () => {
  const app = await NestFactory.create(SeedModule)

  console.log("Start:: seeding database....")

  // run
  await app.get(RoleSeedService).run()
  await app.get(PermissionsSeedService).run()
  await app.get(AdminSeedService).run()
  await app.get(CategorySeedService).run()
  await app.get(CompanySeedService).run()
  await app.get(FlagSeedService).run()

  console.log("End:: seeding database....")

  await app.close()
}

void runSeed()
