import { Module } from "@nestjs/common"
import { TypeOrmModule } from "@nestjs/typeorm"
import { AppContent } from "./entities/app-content.entity"
import { AppContentController } from "./app-content.controller"
import { AppContentService } from "./app-content.service"
import { AppContentRepository } from "./repository/app-content.repository"
import { AuthService } from "../auth/auth.service"
import { AuthRepository } from "../auth/repositories/auth.repository"
import { UserLoginRepository } from "../auth/repositories/user-login.repository"
import { User } from "../users/entity/users.entity"
import { UserLogin } from "../auth/entities/user-login.entity"
import { SendSms } from "../auth/entities/send_sms.entity"
import { PasswordReset } from "../password/entities/password-resets.entity"
import { SendSmsRepository } from "../auth/repositories/send-sms.repository"
import { PasswordResetRepository } from "../password/repository/password-resets.repository"
import { IntroductionRepository } from "../introductions/repository/introductions.repository"
import { Introduction } from "../introductions/entities/introductions.entity"
import { Subscription } from "../subscriptions/entities/subscription.entity"
import { SubscriptionRepository } from "../subscriptions/repository/subscription.repository"

@Module({
  imports: [
    TypeOrmModule.forFeature([
      AppContent,
      User,
      UserLogin,
      SendSms,
      PasswordReset,
      Introduction,
      Subscription,
    ]),
  ],
  controllers: [AppContentController],
  providers: [
    AppContentService,
    AppContentRepository,
    AuthService,
    AuthRepository,
    UserLoginRepository,
    SendSmsRepository,
    PasswordResetRepository,
    IntroductionRepository,
    SubscriptionRepository,
  ],
  exports: [AppContentService, AppContentRepository],
})
export class AppContentModule {}
