import { Module } from '@nestjs/common';
import { FoodService } from './providers/food.service';
import { FoodStockCrone } from './crone/food.crone';
import { FoodController } from './controllers/food.controller';
import { CategoryController } from './controllers/category.controller';
import { CategoryService } from './providers/category.service';
import { FoodRepository } from './repositories/food.repository';
import { CategoryRepository } from './repositories/category.repository';
import { MikroOrmModule } from '@mikro-orm/nestjs';
import { Category } from './entities/category.entity';
import { Food } from './entities/food.entity';
import { RestaurantsModule } from '../restaurants/restaurants.module';
import { AuthModule } from '../auth/auth.module';
import { JwtModule } from '@nestjs/jwt';
import { UtilsModule } from '../utils/utils.module';
import { Favorite } from './entities/favorite.entity';

@Module({
  imports: [
    MikroOrmModule.forFeature([Food, Category, Favorite]),
    RestaurantsModule,
    AuthModule,
    JwtModule,
    UtilsModule,
  ],
  controllers: [FoodController, CategoryController],
  providers: [FoodService, CategoryService, FoodRepository, CategoryRepository, FoodStockCrone],
  exports: [FoodRepository, CategoryRepository],
})
export class FoodModule {}
