discourse/lib/topic_query_params.rb

24 lines
665 B
Ruby
Raw Normal View History

# frozen_string_literal: true
module TopicQueryParams
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
end