import { Module } from '@nestjs/common';
import { RouteService } from './route.service';
import { RouteController } from './route.controller';
import { TypeOrmModule } from '@nestjs/typeorm';
import { Route } from './entities/route.entity';
import { AuthUserService } from 'src/auth/user/authUserservice';
import { UserService } from 'src/user/user.service';
import { JwtService } from '@nestjs/jwt';
import { EncryptionService } from 'src/auth/encryption/encryption.service';
import { User } from 'src/user/entities/user.entity';
import { CategoryService } from 'src/category/category.service';
import { Category } from 'src/category/entities/category.entity';
import { Town } from 'src/town/entities/town.entity';
import { TravelPlace } from 'src/travel-place/entities/travel-place.entity';
import { TravelPlaceService } from 'src/travel-place/travel-place.service';
import { Place } from 'src/place/entities/place.entity';
import { PlaceService } from 'src/place/place.service';
import { AvailableDate } from 'src/place/entities/available-date.entity';
import { PlaceTraduction } from 'src/place/entities/place-traduction.entity';
import { VisitedService } from 'src/visited/visited.service';
import { Visited } from 'src/visited/entities/visited.entity';
import { UserResetCode } from 'src/auth/user/entities/user-reset-code.entity';
import { UserConfirmCode } from 'src/auth/user/entities/user-confirm-code.entity';
import { EmailService } from 'src/email/email.service';

@Module({
  controllers: [RouteController],
  providers: [
    RouteService,
    AuthUserService,
    UserService,
    JwtService,
    EncryptionService,
    CategoryService,
    TravelPlaceService,
    PlaceService,
    VisitedService,
    EmailService,
  ],
  imports: [
    TypeOrmModule.forFeature([
      Route,
      User,
      UserResetCode,
      Category,
      Town,
      TravelPlace,
      Place,
      AvailableDate,
      PlaceTraduction,
      Visited,
      UserConfirmCode,
    ]),
  ],
})
export class RouteModule {}
