catstodon/app/serializers/rest/media_attachment_serializer.rb
Claire db57bff11d
Stop setting a shortcode to newly-created media attachments (#16730)
* Stop setting a shortcode to newly-created media attachments

The WebUI has stopped using the “short media URL” in ages. This isn't used
anywhere except for mail notifications.

Deprecating it would allow us to eventually get rid of at least a database
column and corruption-prone index, as well as a controller.

* Fix tests
2021-09-13 18:59:37 +02:00

49 lines
1 KiB
Ruby

# frozen_string_literal: true
class REST::MediaAttachmentSerializer < ActiveModel::Serializer
include RoutingHelper
attributes :id, :type, :url, :preview_url,
:remote_url, :preview_remote_url, :text_url, :meta,
:description, :blurhash
def id
object.id.to_s
end
def url
if object.not_processed?
nil
elsif object.needs_redownload?
media_proxy_url(object.id, :original)
else
full_asset_url(object.file.url(:original))
end
end
def remote_url
object.remote_url.presence
end
def preview_url
if object.needs_redownload?
media_proxy_url(object.id, :small)
elsif object.thumbnail.present?
full_asset_url(object.thumbnail.url(:original))
elsif object.file.styles.key?(:small)
full_asset_url(object.file.url(:small))
end
end
def preview_remote_url
object.thumbnail_remote_url.presence
end
def text_url
object.local? && object.shortcode.present? ? medium_url(object) : nil
end
def meta
object.file.meta
end
end