Class: Api::Partner::V1::ReviewsController
- Inherits:
-
BaseController
- Object
- ActionController::API
- BaseController
- Api::Partner::V1::ReviewsController
- Defined in:
- app/controllers/api/partner/v1/reviews_controller.rb
Instance Method Summary collapse
Methods inherited from BaseController
#default_restaurant, #identity_cache_memoization, #render_unauthorize_action, #restaurants, #set_options
Methods included from LogrageCustomLogger
Methods included from ControllerHelpers
#check_boolean_param, #get_banners, #inventory_params, #reservation_params
Methods included from ResponseCacheConcern
Instance Method Details
#index ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'app/controllers/api/partner/v1/reviews_controller.rb', line 7 def index reviews = Review.includes( :rates, :review_recommended_fors, [reservation: :owner_review], [reservation: :user], [reservation: :restaurant], [reservation: :property] ).joins(:reservation).where(reservations: {restaurant_id: restaurants.ids, active: true}) filter_params = params.fetch(:filter, {}) reviews = Api::Partner::ReviewsFilter.new(reviews, restaurants) reviews.filter(filter_params) pagy, reviews = pagy(reviews.to_collections, items: params[:per_page] || 10, page: params[:page] || 1) render json: ::Api::Partner::ReviewSerializer.new(reviews, (pagy)).as_json end |