import { Injectable } from "@nestjs/common"
import { ModuleService } from "../../../modules/module/v1/module.service"
import { moduleConst } from "src/constants/modules.constant"

@Injectable()
export class ModuleSeedService {
  constructor(private readonly moduleService: ModuleService) {}

  async run() {
    try {
      for (const item of moduleConst) {
        const isExist = await this.moduleService.checkModuleExist(
          item.module_name,
          item.module_type,
        )

        if (!isExist) {
          await this.moduleService.createModule({
            module_name: item.module_name,
            module_type: item.module_type,
            module_access: item.module_access,
          })
          console.log(`Module added: ${item.module_name}`)
        } else {
          console.log(`Module '${item.module_name}' already exists, skipping.`)
        }
      }
    } catch (error) {
      console.error("Error seeding Modules:", error)
    }
  }
}
