diff options
Diffstat (limited to 'app/serializers')
-rw-r--r-- | app/serializers/rest/status_serializer.rb | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/app/serializers/rest/status_serializer.rb b/app/serializers/rest/status_serializer.rb index 7a2dd6db9..1db3d50f1 100644 --- a/app/serializers/rest/status_serializer.rb +++ b/app/serializers/rest/status_serializer.rb @@ -21,6 +21,8 @@ class REST::StatusSerializer < ActiveModel::Serializer attribute :content_type, if: :source_requested? attribute :published if :local? + attribute :hidden, if: :current_user? + attribute :conversation_hidden, if: :current_user? belongs_to :reblog, serializer: REST::StatusSerializer belongs_to :application, if: :show_application? @@ -101,6 +103,22 @@ class REST::StatusSerializer < ActiveModel::Serializer end end + def conversation_hidden + if instance_options && instance_options[:relationships] + instance_options[:relationships].hidden_conversations_map[object.conversation_id] || false + else + current_user.account.hiding_conversation?(object.conversation) + end + end + + def hidden + if instance_options && instance_options[:relationships] + instance_options[:relationships].hidden_statuses_map[object.id] || false + else + current_user.account.muting_status?(object) + end + end + def bookmarked if instance_options && instance_options[:relationships] instance_options[:relationships].bookmarks_map[object.id] || false |