social.metadata.moe/lib/pleroma/uploaders/swift/uploader.ex
Thurloat 2ff25ac0ce A hobbldey-working swift client.
apparently, all elixir openstack libraries are trash
luckily, the APIs are stupid easy.
2018-08-28 22:32:24 -03:00

15 lines
483 B
Elixir

defmodule Pleroma.Uploaders.Swift do
@behaviour Pleroma.Uploaders.Uploader
@settings Application.get_env(:pleroma, Pleroma.Uploaders.Swift)
def put_file(name, uuid, tmp_path, content_type, _should_dedupe) do
{:ok, file_data} = File.read(tmp_path)
remote_name = "#{uuid}/#{name}"
Pleroma.Uploaders.Swift.Client.upload_file(remote_name, file_data, content_type)
object_url = Keyword.fetch!(@settings, :object_url)
"#{object_url}/#{remote_name}"
end
end