Add object id to uploaded attachments

This commit is contained in:
Tusooa Zhu 2022-06-08 11:05:48 -04:00 committed by Sol Fisher Romanoff
parent c3fc04cdaa
commit 0d72051aa3
No known key found for this signature in database
GPG key ID: 9D3F2B64F2341B62
2 changed files with 18 additions and 14 deletions

View file

@ -36,6 +36,7 @@ defmodule Pleroma.Upload do
alias Ecto.UUID alias Ecto.UUID
alias Pleroma.Config alias Pleroma.Config
alias Pleroma.Maps alias Pleroma.Maps
alias Pleroma.Web.ActivityPub.Utils
require Logger require Logger
@type source :: @type source ::
@ -88,6 +89,7 @@ def store(upload, opts \\ []) do
{:ok, url_spec} <- Pleroma.Uploaders.Uploader.put_file(opts.uploader, upload) do {:ok, url_spec} <- Pleroma.Uploaders.Uploader.put_file(opts.uploader, upload) do
{:ok, {:ok,
%{ %{
"id" => Utils.generate_object_id(),
"type" => opts.activity_type, "type" => opts.activity_type,
"mediaType" => upload.content_type, "mediaType" => upload.content_type,
"url" => [ "url" => [

View file

@ -49,20 +49,22 @@ def put_file(upload), do: TestUploaderBase.put_file(upload, __MODULE__)
test "it returns file" do test "it returns file" do
File.cp!("test/fixtures/image.jpg", "test/fixtures/image_tmp.jpg") File.cp!("test/fixtures/image.jpg", "test/fixtures/image_tmp.jpg")
assert Upload.store(@upload_file) == assert {:ok, result} = Upload.store(@upload_file)
{:ok,
%{ assert result ==
"name" => "image.jpg", %{
"type" => "Document", "id" => result["id"],
"mediaType" => "image/jpeg", "name" => "image.jpg",
"url" => [ "type" => "Document",
%{ "mediaType" => "image/jpeg",
"href" => "http://localhost:4001/media/post-process-file.jpg", "url" => [
"mediaType" => "image/jpeg", %{
"type" => "Link" "href" => "http://localhost:4001/media/post-process-file.jpg",
} "mediaType" => "image/jpeg",
] "type" => "Link"
}} }
]
}
Task.await(Agent.get(TestUploaderSuccess, fn task_pid -> task_pid end)) Task.await(Agent.get(TestUploaderSuccess, fn task_pid -> task_pid end))
end end