db57bff11d
* 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
49 satır
1 KiB
Ruby
49 satır
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
|