discourse/app/serializers/web_hook_post_serializer.rb
Gary Pendergast 2513339955
FEATURE: Show when a badge has been granted for a post (#29696)
Co-authored-by: Joffrey JAFFEUX <j.jaffeux@gmail.com>
Co-authored-by: Jarek Radosz <jradosz@gmail.com>
Co-authored-by: Alan Guo Xiang Tan <gxtan1990@gmail.com>
2024-12-03 13:43:27 +11:00

64 lines
1.2 KiB
Ruby

# frozen_string_literal: true
class WebHookPostSerializer < PostSerializer
attributes :topic_posts_count, :topic_filtered_posts_count, :topic_archetype, :category_slug
def include_topic_title?
true
end
def include_raw?
true
end
def include_category_id?
true
end
%i[
can_view
can_edit
can_delete
can_recover
can_see_hidden_post
can_wiki
actions_summary
can_view_edit_history
yours
flair_url
flair_bg_color
flair_color
notice
mentioned_users
badges_granted
].each { |attr| define_method("include_#{attr}?") { false } }
def topic_posts
@topic_posts ||= object.topic.posts.where(user_deleted: false)
end
def topic_posts_count
object.topic ? topic_posts.count : 0
end
def topic_filtered_posts_count
object.topic ? topic_posts.where(post_type: Post.types[:regular]).count : 0
end
def topic_archetype
object.topic ? object.topic.archetype : ""
end
def include_category_slug?
object.topic && object.topic.category
end
def category_slug
object.topic && object.topic.category ? object.topic.category.slug_for_url : ""
end
def include_readers_count?
false
end
end