Compare commits

...

1 Commits

Author SHA1 Message Date
Claire fd72c1c5f5 Change `/api/v1/announcements` to return regular `Status` entities 2023-08-31 11:44:22 +02:00
2 changed files with 8 additions and 18 deletions

View File

@ -54,11 +54,13 @@ class Announcement < ApplicationRecord
end
def statuses
@statuses ||= if status_ids.nil?
[]
else
Status.where(id: status_ids, visibility: [:public, :unlisted])
end
@statuses ||= begin
if status_ids.nil?
[]
else
Status.includes(:preloadable_poll, :media_attachments, :account, reblog: :account).where(id: status_ids, visibility: [:public, :unlisted])
end
end
end
def tags

View File

@ -9,7 +9,7 @@ class REST::AnnouncementSerializer < ActiveModel::Serializer
attribute :read, if: :current_user?
has_many :mentions
has_many :statuses
has_many :statuses, serializer: REST::StatusSerializer
has_many :tags, serializer: REST::StatusSerializer::TagSerializer
has_many :emojis, serializer: REST::CustomEmojiSerializer
has_many :reactions, serializer: REST::ReactionSerializer
@ -49,16 +49,4 @@ class REST::AnnouncementSerializer < ActiveModel::Serializer
object.pretty_acct
end
end
class StatusSerializer < ActiveModel::Serializer
attributes :id, :url
def id
object.id.to_s
end
def url
ActivityPub::TagManager.instance.url_for(object)
end
end
end