Newer
Older

Israel Barreto Sant'Anna
committed
class V1::SearchController < ApplicationController

Israel Barreto Sant'Anna
committed
before_action :set_search
# GET v1/search
# GET v1/search.json

Israel Barreto Sant'Anna
committed
def index

Israel Barreto Sant'Anna
committed
begin
render json: search_service.fetch, status: :ok
rescue => e
if e.message == "Invalid search"
render json: @search.errors, status: :bad_request
render nothing: true, status: :internal_server_error
puts e.message
puts e.backtrace

Israel Barreto Sant'Anna
committed
end
end

Israel Barreto Sant'Anna
committed
end

Israel Barreto Sant'Anna
committed
# GET v1/search/autocomplete
# GET v1/search/autocomplete.json

Israel Barreto Sant'Anna
committed
def autocomplete

Israel Barreto Sant'Anna
committed
begin
render json: search_service.autocomplete, status: :ok
rescue => e
if e.message == "Invalid search"
render json: @search.errors, status: :bad_request
render nothing: true, status: :internal_server_error
puts e.message
puts e.backtrace

Israel Barreto Sant'Anna
committed
end
end

Israel Barreto Sant'Anna
committed
end
private

Israel Barreto Sant'Anna
committed
def set_search
@search = Search.new(params)
end

Israel Barreto Sant'Anna
committed
def search_service
@search_service ||= SearchService.new(@search, current_user)