2019-05-02 18:17:27 -04:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2022-10-31 08:02:26 -04:00
|
|
|
class Admin::SearchLogsController < Admin::StaffController
|
2017-11-14 19:13:50 -05:00
|
|
|
|
|
|
|
def index
|
|
|
|
period = params[:period] || "all"
|
2017-11-28 12:54:27 -05:00
|
|
|
search_type = params[:search_type] || "all"
|
|
|
|
render_serialized(SearchLog.trending(period&.to_sym, search_type&.to_sym), SearchLogsSerializer)
|
2017-11-14 19:13:50 -05:00
|
|
|
end
|
|
|
|
|
2017-12-19 21:41:31 -05:00
|
|
|
def term
|
|
|
|
params.require(:term)
|
|
|
|
|
|
|
|
term = params[:term]
|
2018-01-15 21:23:22 -05:00
|
|
|
period = params[:period] || "quarterly"
|
2017-12-19 21:41:31 -05:00
|
|
|
search_type = params[:search_type] || "all"
|
|
|
|
|
|
|
|
details = SearchLog.term_details(term, period&.to_sym, search_type&.to_sym)
|
|
|
|
raise Discourse::NotFound if details.blank?
|
|
|
|
|
2018-01-17 02:27:33 -05:00
|
|
|
result = Search.execute(params[:term], guardian: guardian)
|
2018-01-16 05:29:22 -05:00
|
|
|
details[:search_result] = serialize_data(result, GroupedSearchResultSerializer, result: result)
|
2017-12-19 21:41:31 -05:00
|
|
|
render_json_dump(term: details)
|
|
|
|
end
|
|
|
|
|
2017-11-14 19:13:50 -05:00
|
|
|
end
|