import { Module } from '@nestjs/common';
import { TypeOrmModule } from '@nestjs/typeorm';
import { DatabaseSeederService } from './database-seeder.service';
import { State } from 'src/state/entities/state.entity';
import { StateService } from 'src/state/state.service';
import { Town } from 'src/town/entities/town.entity';
import { Admin } from 'src/admin/entities/admin.entity';
import { AuthAdminService } from 'src/auth/admin/authAdmin.service';
import { AdminService } from 'src/admin/admin.service';
import { JwtService } from '@nestjs/jwt';
import { EncryptionService } from 'src/auth/encryption/encryption.service';
import { TownService } from 'src/town/town.service';
import { TownTraduction } from 'src/town/entities/town-traduction.entity';
import { PointOfInterestService } from 'src/pointOfInterest/PointOfInterest.service';
import { PlaceService } from 'src/place/place.service';
import { Place } from 'src/place/entities/place.entity';
import { PointOfInterest } from 'src/pointOfInterest/entities/PointOfInterest.entity';
import { AvailableDate } from 'src/place/entities/available-date.entity';
import { PlaceTraduction } from 'src/place/entities/place-traduction.entity';
import { PointOfInterestTraduction } from 'src/pointOfInterest/entities/PointOfInterestTraduction.entity';
import { CategoryService } from 'src/category/category.service';
import { Category } from 'src/category/entities/category.entity';
import { AdminResetCode } from 'src/auth/admin/entitites/admin-reset-code.entity';

@Module({
  providers: [
    DatabaseSeederService,
    StateService,
    AuthAdminService,
    AdminService,
    JwtService,
    EncryptionService,
    TownService,
    PointOfInterestService,
    PlaceService,
    CategoryService,
  ],
  imports: [
    TypeOrmModule.forFeature([
      State,
      Town,
      Admin,
      Town,
      TownTraduction,
      Place,
      PointOfInterest,
      AvailableDate,
      PlaceTraduction,
      PointOfInterestTraduction,
      Category,
      AdminResetCode,
    ]),
  ],
})
export class DatabaseSeederModule {}
