content: package com.food.order.system.data.access.restaurant.adapter;
  
  import com.food.order.system.common.data.access.entity.RestaurantEntity;
  import com.food.order.system.common.data.access.repository.RestaurantJpaRepository;
  import com.food.order.system.data.access.restaurant.mapper.RestaurantDataAccessMapper;
  import com.food.order.system.restaurant.domain.core.entity.Restaurant;
  import com.food.order.system.restaurant.domain.service.ports.output.repository.RestaurantRepository;
  import lombok.RequiredArgsConstructor;
  import org.springframework.stereotype.Component;
  
  import java.util.List;
  import java.util.Optional;
  import java.util.UUID;
  
  @Component
  @RequiredArgsConstructor
  public class RestaurantRepositoryImpl implements RestaurantRepository {
  
      private final RestaurantJpaRepository restaurantJpaRepository;
      private final RestaurantDataAccessMapper restaurantDataAccessMapper;
  
      @Override
      public Optional<Restaurant> findRestaurantInformation(Restaurant restaurant) {
          List<UUID> restaurantProducts =
                  restaurantDataAccessMapper.restaurantToRestaurantProducts(restaurant);
          Optional<List<RestaurantEntity>> restaurantEntities = restaurantJpaRepository
                  .findByRestaurantIdAndProductIdIn(restaurant.getId().getValue(),
                          restaurantProducts);
          return restaurantEntities.map(restaurantDataAccessMapper::restaurantEntityToRestaurant);
      }
  }
  