scinote-web/app/serializers/api/v1/result_asset_serializer.rb

35 lines
747 B
Ruby

# frozen_string_literal: true
module Api
module V1
class ResultAssetSerializer < ActiveModel::Serializer
type :result_files
attributes :file_id, :file_name, :file_size, :url
def file_id
object.asset&.id
end
def file_name
object.asset&.file_file_name
end
def file_size
object.asset&.file_file_size
end
def url
if !object.asset&.file_present
nil
elsif object.asset&.file&.is_stored_on_s3?
object.asset.presigned_url(download: true)
else
# TODO
# separate api endpoint for local files download is needed
'url'#download_asset_path(object.asset.id)
end
end
end
end
end