discourse/lib/topic_query_sql.rb
Josh Soref 59097b207f
DEV: Correct typos and spelling mistakes (#12812)
Over the years we accrued many spelling mistakes in the code base. 

This PR attempts to fix spelling mistakes and typos in all areas of the code that are extremely safe to change 

- comments
- test descriptions
- other low risk areas
2021-05-21 11:43:47 +10:00

61 lines
2.0 KiB
Ruby

# frozen_string_literal: true
#
# SQL fragments used when querying a list of topics.
#
module TopicQuerySQL
class << self
def lowest_date
"1900-01-01"
end
def order_by_category_sql(dir)
-"CASE WHEN categories.id = #{SiteSetting.uncategorized_category_id.to_i} THEN '' ELSE categories.name END #{dir}"
end
# If you've cleared the pin, use bumped_at, otherwise put it at the top
def order_with_pinned_sql
-"CASE
WHEN (COALESCE(topics.pinned_at, '#{lowest_date}') > COALESCE(tu.cleared_pinned_at, '#{lowest_date}'))
THEN topics.pinned_at + interval '9999 years'
ELSE topics.bumped_at
END DESC"
end
# If you've cleared the pin, use bumped_at, otherwise put it at the top
def order_nocategory_with_pinned_sql
-"CASE
WHEN topics.pinned_globally
AND (COALESCE(topics.pinned_at, '#{lowest_date}') > COALESCE(tu.cleared_pinned_at, '#{lowest_date}'))
THEN topics.pinned_at + interval '9999 years'
ELSE topics.bumped_at
END DESC"
end
def order_basic_bumped
"CASE WHEN (topics.pinned_at IS NOT NULL) THEN 0 ELSE 1 END, topics.bumped_at DESC"
end
def order_nocategory_basic_bumped
"CASE WHEN topics.pinned_globally AND (topics.pinned_at IS NOT NULL) THEN 0 ELSE 1 END, topics.bumped_at DESC"
end
def order_top_for(score)
-"COALESCE(top_topics.#{score}, 0) DESC, topics.bumped_at DESC"
end
def order_top_with_pinned_category_for(score)
# display pinned topics first
-"CASE WHEN (COALESCE(topics.pinned_at, '#{lowest_date}') > COALESCE(tu.cleared_pinned_at, '#{lowest_date}')) THEN 0 ELSE 1 END,
top_topics.#{score} DESC,
topics.bumped_at DESC"
end
def order_top_with_notification_levels(score)
-"COALESCE(topic_users.notification_level, 1) DESC, COALESCE(category_users.notification_level, 1) DESC, COALESCE(top_topics.#{score}, 0) DESC, topics.bumped_at DESC"
end
end
end