class V1::SearchController < ApplicationController before_action :set_search # GET v1/search # GET v1/search.json def index begin render json: search_service.fetch, status: :ok rescue => e if e.message == "Invalid search" render json: @search.errors, status: :bad_request else render nothing: true, status: :internal_server_error puts e.message puts e.backtrace end end end # GET v1/search/autocomplete # GET v1/search/autocomplete.json def autocomplete begin render json: search_service.autocomplete, status: :ok rescue => e if e.message == "Invalid search" render json: @search.errors, status: :bad_request else render nothing: true, status: :internal_server_error puts e.message puts e.backtrace end end end private def set_search @search = Search.new(params) end def search_service @search_service ||= SearchService.new(@search, current_user) end end