wip
This commit is contained in:
parent
8a7b081966
commit
dbaa15232b
@ -26,7 +26,9 @@ defmodule Pleroma.Media do
|
|||||||
timestamps()
|
timestamps()
|
||||||
end
|
end
|
||||||
|
|
||||||
def create_from_object_data(%{"url" => [url]} = data, %{user: user} = _opts) do
|
def create_from_object_data(%{"url" => [url]} = data, %{user: user} = opts) do
|
||||||
|
object_id = get_in(opts, [:object, "id"])
|
||||||
|
|
||||||
%Media{}
|
%Media{}
|
||||||
|> changeset(%{
|
|> changeset(%{
|
||||||
href: url["href"],
|
href: url["href"],
|
||||||
@ -35,7 +37,8 @@ defmodule Pleroma.Media do
|
|||||||
name: data["name"],
|
name: data["name"],
|
||||||
blurhash: nil,
|
blurhash: nil,
|
||||||
meta: %{},
|
meta: %{},
|
||||||
user_id: user.id
|
user_id: user.id,
|
||||||
|
object_id: object_id
|
||||||
})
|
})
|
||||||
|> Repo.insert()
|
|> Repo.insert()
|
||||||
end
|
end
|
||||||
|
@ -164,7 +164,7 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
|
|||||||
|
|
||||||
defp maybe_update_media(%Object{data: %{"attachment" => []}}), do: :ok
|
defp maybe_update_media(%Object{data: %{"attachment" => []}}), do: :ok
|
||||||
|
|
||||||
defp maybe_update_media(%Object{id: id, data: %{"attachment" => attachments}}) do
|
defp maybe_update_media(%Object{data: %{"id" => id, "attachment" => attachments}}) do
|
||||||
Enum.each(attachments, fn data ->
|
Enum.each(attachments, fn data ->
|
||||||
with %{"id" => media_id} <- data do
|
with %{"id" => media_id} <- data do
|
||||||
media_id
|
media_id
|
||||||
|
@ -9,6 +9,7 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
|
|||||||
alias Pleroma.Activity
|
alias Pleroma.Activity
|
||||||
alias Pleroma.EctoType.ActivityPub.ObjectValidators
|
alias Pleroma.EctoType.ActivityPub.ObjectValidators
|
||||||
alias Pleroma.Maps
|
alias Pleroma.Maps
|
||||||
|
alias Pleroma.Media
|
||||||
alias Pleroma.Object
|
alias Pleroma.Object
|
||||||
alias Pleroma.Object.Containment
|
alias Pleroma.Object.Containment
|
||||||
alias Pleroma.Repo
|
alias Pleroma.Repo
|
||||||
@ -272,9 +273,10 @@ defmodule Pleroma.Web.ActivityPub.Transmogrifier do
|
|||||||
def fix_attachments(object), do: object
|
def fix_attachments(object), do: object
|
||||||
|
|
||||||
def fix_media(%{"attachment" => [_ | _] = attachments} = object) do
|
def fix_media(%{"attachment" => [_ | _] = attachments} = object) do
|
||||||
Enum.each(attachments, fn attachment ->
|
Enum.each(
|
||||||
IO.inspect({:fix_media, %{attachment: attachment, object: object}})
|
attachments,
|
||||||
end)
|
&Media.create_from_object_data(&1, %{user: User.get_by_ap_id(object.actor), object: object})
|
||||||
|
)
|
||||||
|
|
||||||
object
|
object
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user