Module: TopicQueryParams

Included in:
CategoriesController, EmbedController, ListController, TagsController
Defined in:
lib/topic_query_params.rb

Instance Method Summary collapse

Instance Method Details

#build_topic_list_optionsObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/topic_query_params.rb', line 4

def build_topic_list_options
  options = {}
  params[:tags] = [params[:tag_id], *Array(params[:tags])].uniq if params[:tag_id].present?

  TopicQuery.public_valid_options.each do |key|
    if params.key?(key)
      val = options[key] = params[key]
      raise Discourse::InvalidParameters.new key if !TopicQuery.validate?(key, val)
    end
  end

  # hacky columns get special handling
  options[:topic_ids] = param_to_integer_list(:topic_ids)
  options[:no_subcategories] = options[:no_subcategories] == "true" if options[
    :no_subcategories
  ].present?

  options
end