/**
 * ============================================================
 * 개체(Cow) 모듈
 * ============================================================
 *
 * 사용 페이지: 개체 목록 페이지 (/cow)
 *
 * 등록된 엔티티:
 * - CowModel: 개체 기본 정보
 * - GenomeRequestModel: 유전체 분석 의뢰
 * - GenomeTraitDetailModel: 유전체 형질 상세 (35개 형질)
 * ============================================================
 */

import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { CowController } from './cow.controller';
import { CowService } from './cow.service';
import { CowModel } from './entities/cow.entity';
import { GenomeRequestModel } from '../genome/entities/genome-request.entity';
import { GenomeTraitDetailModel } from '../genome/entities/genome-trait-detail.entity';
import { GeneDetailModel } from '../gene/entities/gene-detail.entity';
import { MptModel } from '../mpt/entities/mpt.entity';
import { FilterEngineModule } from '../shared/filter/filter-engine.module';

@Module({
  imports: [
    TypeOrmModule.forFeature([
      CowModel,              // 개체 기본 정보 (tb_cow)
      GenomeRequestModel,    // 유전체 분석 의뢰 (tb_genome_request)
      GenomeTraitDetailModel, // 유전체 형질 상세 (tb_genome_trait_detail)
      GeneDetailModel,       // 유전자 상세 (tb_gene_detail)
      MptModel,              // 번식능력 (tb_mpt)
    ]),
    FilterEngineModule,      // 필터 엔진 모듈
  ],
  controllers: [CowController],
  providers: [CowService],
  exports: [CowService],
})
export class CowModule {}