package com.example.rezevirajmasa.demo.service; import com.example.rezevirajmasa.demo.dto.RestaurantDTO; import com.example.rezevirajmasa.demo.model.Restaurant; import com.example.rezevirajmasa.demo.model.TableEntity; import java.math.BigDecimal; import java.time.LocalDate; import java.time.LocalDateTime; import java.util.List; public interface RestaurantService { List listall(); List listAll(); // void save(String name, String cuisineType, String address, String phone, String operatingHours, String website, String socialMediaLinks, BigDecimal rating, List tablesList); // void save(String name, String cuisineType, String address, String phone, String operatingHours, String website, String socialMediaLinks, BigDecimal rating, int numberOfTables, int tableCapacity, String location, Boolean isSmokingArea, String description); void save(Restaurant restaurant, int numberOfTables, List tableCapacities, List tableLocations, List tableSmokingAreas, List tableDescriptions); Restaurant updateRestaurant(Long restaurantId, String name, String cuisineType, String address, String phone, String operatingHours, String website, String socialMediaLinks, BigDecimal rating, List tablesList); Restaurant deleteRestaurant(Long restaurantId); RestaurantDTO findById(Long restaurantId); Restaurant findByIdRestaurant(Long restaurantId); List listRestaurantBy(String search); List getRestaurantsWithAvailableTimeSlotsForToday(); public List findRestaurantsByDateTimeAndPartySize(LocalDateTime dateTime, int partySize, String search); // public List findRestaurantsBySearchParams(LocalDateTime dateTime, int partySize, String search); public List findALlCuisineTypes(); List findRestaurantsByCuisineType(String param); public List findRestaurantsBySearchParams(LocalDateTime dateTime, int partySize, String search); }