Use Jason.encode/1 for likes and bookmarks

This commit is contained in:
Egor Kislitsyn 2020-09-26 21:24:35 +04:00
parent 6d5f02a1da
commit d7a5291b4f
No known key found for this signature in database
GPG key ID: 1B49CB15B71E7805

View file

@ -194,7 +194,8 @@ defp write(query, dir, name, fun) do
query
|> Pleroma.Repo.chunk_stream(100)
|> Enum.reduce(0, fn i, acc ->
with {:ok, str} <- fun.(i),
with {:ok, data} <- fun.(i),
{:ok, str} <- Jason.encode(data),
:ok <- IO.write(file, str <> ",\n") do
acc + 1
else
@ -213,7 +214,7 @@ defp bookmarks(dir, %{id: user_id} = _user) do
|> where(user_id: ^user_id)
|> join(:inner, [b], activity in assoc(b, :activity))
|> select([b, a], %{id: b.id, object: fragment("(?)->>'object'", a.data)})
|> write(dir, "bookmarks", fn a -> {:ok, "\"#{a.object}\""} end)
|> write(dir, "bookmarks", fn a -> {:ok, a.object} end)
end
defp likes(dir, user) do
@ -221,7 +222,7 @@ defp likes(dir, user) do
|> Activity.Queries.by_actor()
|> Activity.Queries.by_type("Like")
|> select([like], %{id: like.id, object: fragment("(?)->>'object'", like.data)})
|> write(dir, "likes", fn a -> {:ok, "\"#{a.object}\""} end)
|> write(dir, "likes", fn a -> {:ok, a.object} end)
end
defp statuses(dir, user) do
@ -239,7 +240,7 @@ defp statuses(dir, user) do
|> ActivityPub.fetch_activities_query(opts)
|> write(dir, "outbox", fn a ->
with {:ok, activity} <- Transmogrifier.prepare_outgoing(a.data) do
activity |> Map.delete("@context") |> Jason.encode()
{:ok, Map.delete(activity, "@context")}
end
end)
end