diff options
author | pluralcafe-docker <git@plural.cafe> | 2018-10-30 05:54:55 +0000 |
---|---|---|
committer | pluralcafe-docker <git@plural.cafe> | 2018-10-30 05:54:55 +0000 |
commit | 431c09bfbe07715a2a88846864179a419d72ab59 (patch) | |
tree | 8b7772f64ea23cdf5e55dda9f92ff57a41adf3a4 /app/serializers | |
parent | 7c96ee7815c216d6ac3b748d7dd6959376d3914e (diff) | |
parent | 7ec3f6022d5c991bb584c481a29c416e9f1c5438 (diff) |
Merge branch 'glitch'
Diffstat (limited to 'app/serializers')
-rw-r--r-- | app/serializers/activitypub/note_serializer.rb | 2 | ||||
-rw-r--r-- | app/serializers/initial_state_serializer.rb | 7 | ||||
-rw-r--r-- | app/serializers/rest/conversation_serializer.rb | 7 | ||||
-rw-r--r-- | app/serializers/rest/status_serializer.rb | 15 |
4 files changed, 28 insertions, 3 deletions
diff --git a/app/serializers/activitypub/note_serializer.rb b/app/serializers/activitypub/note_serializer.rb index 82b7ffe95..c9d23e25f 100644 --- a/app/serializers/activitypub/note_serializer.rb +++ b/app/serializers/activitypub/note_serializer.rb @@ -68,7 +68,7 @@ class ActivityPub::NoteSerializer < ActiveModel::Serializer end def virtual_tags - object.mentions.to_a.sort_by(&:id) + object.tags + object.emojis + object.active_mentions.to_a.sort_by(&:id) + object.tags + object.emojis end def atom_uri diff --git a/app/serializers/initial_state_serializer.rb b/app/serializers/initial_state_serializer.rb index ac08a3f1e..5b88cb9a8 100644 --- a/app/serializers/initial_state_serializer.rb +++ b/app/serializers/initial_state_serializer.rb @@ -21,6 +21,7 @@ class InitialStateSerializer < ActiveModel::Serializer search_enabled: Chewy.enabled?, version: Mastodon::Version.to_s, invites_enabled: Setting.min_invite_role == 'user', + mascot: instance_presenter.mascot&.file&.url, } if object.current_account @@ -63,4 +64,10 @@ class InitialStateSerializer < ActiveModel::Serializer def media_attachments { accept_content_types: MediaAttachment::IMAGE_FILE_EXTENSIONS + MediaAttachment::VIDEO_FILE_EXTENSIONS + MediaAttachment::AUDIO_FILE_EXTENSIONS + MediaAttachment::IMAGE_MIME_TYPES + MediaAttachment::VIDEO_MIME_TYPES + MediaAttachment::AUDIO_MIME_TYPES } end + + private + + def instance_presenter + @instance_presenter ||= InstancePresenter.new + end end diff --git a/app/serializers/rest/conversation_serializer.rb b/app/serializers/rest/conversation_serializer.rb index 08cea47d2..b09ca6341 100644 --- a/app/serializers/rest/conversation_serializer.rb +++ b/app/serializers/rest/conversation_serializer.rb @@ -1,7 +1,12 @@ # frozen_string_literal: true class REST::ConversationSerializer < ActiveModel::Serializer - attribute :id + attributes :id, :unread + has_many :participant_accounts, key: :accounts, serializer: REST::AccountSerializer has_one :last_status, serializer: REST::StatusSerializer + + def id + object.id.to_s + end end diff --git a/app/serializers/rest/status_serializer.rb b/app/serializers/rest/status_serializer.rb index 89776b1fc..8a61c1056 100644 --- a/app/serializers/rest/status_serializer.rb +++ b/app/serializers/rest/status_serializer.rb @@ -21,6 +21,8 @@ class REST::StatusSerializer < ActiveModel::Serializer has_many :tags has_many :emojis, serializer: REST::CustomEmojiSerializer + has_one :preview_card, key: :card, serializer: REST::PreviewCardSerializer + def id object.id.to_s end @@ -37,6 +39,17 @@ class REST::StatusSerializer < ActiveModel::Serializer !current_user.nil? end + def visibility + # This visibility is masked behind "private" + # to avoid API changes because there are no + # UX differences + if object.limited_visibility? + 'private' + else + object.visibility + end + end + def uri OStatus::TagManager.instance.uri_for(object) end @@ -97,7 +110,7 @@ class REST::StatusSerializer < ActiveModel::Serializer end def ordered_mentions - object.mentions.to_a.sort_by(&:id) + object.active_mentions.to_a.sort_by(&:id) end class ApplicationSerializer < ActiveModel::Serializer |