discourse/app/serializers/web_hook_post_serializer.rb
Roman Rizzi 1630dae2db
FEATURE: Publish read state on group messages. (#7989)
* Enable or disable read state based on group attribute

* When read state needs to be published, the minimum unread count is calculated in the topic query. This way, we can know if someone reads the last post

* The option can be enabled/disabled from the UI

* The read indicator will live-updated using message bus

* Show read indicator on every post

* The read indicator now shows read count and can be expanded to see user avatars

* Read count gets updated everytime someone reads a message

* Simplify topic-list read indicator logic

* Unsubscribe from message bus on willDestroyElement, removed unnecesarry values from post-menu, and added a comment to explain where does minimum_unread_count comes from
2019-08-20 09:46:57 -03:00

39 lines
623 B
Ruby

# frozen_string_literal: true
class WebHookPostSerializer < PostSerializer
attributes :topic_posts_count
def include_topic_title?
true
end
%i{
can_view
can_edit
can_delete
can_recover
can_wiki
actions_summary
can_view_edit_history
yours
primary_group_flair_url
primary_group_flair_bg_color
primary_group_flair_color
notice_args
notice_type
}.each do |attr|
define_method("include_#{attr}?") do
false
end
end
def topic_posts_count
object.topic ? object.topic.posts_count : 0
end
def include_readers_count?
false
end
end