import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { AuthController } from './auth.controller';
import { AuthService } from './auth.service';
import { UserModel } from '../user/entities/user.entity';
import { FarmModel } from '../farm/entities/farm.entity';
import { GenomeRequestModel } from '../genome/entities/genome-request.entity';
import { JwtModule } from 'src/common/jwt/jwt.module';
import { EmailModule } from 'src/shared/email/email.module';
import { VerificationModule } from 'src/shared/verification/verification.module';

/**
 * 인증 모듈
 * 로그인, 회원가입, 비밀번호 재설정 등 인증 관련 기능 제공
 */
@Module({
  imports: [
    TypeOrmModule.forFeature([UserModel, FarmModel, GenomeRequestModel]),
    JwtModule,
    EmailModule,
    VerificationModule,
  ],
  controllers: [AuthController],
  providers: [AuthService],
  exports: [AuthService],
})
export class AuthModule {}
