Conversations: Use 'recipients' for accounts in conversation view.

According to gargron, this is the intended usage.
This commit is contained in:
lain 2019-08-12 12:51:08 +02:00
parent a2b98f6d58
commit 23c46f7e72
3 changed files with 7 additions and 22 deletions

View file

@ -12,7 +12,7 @@ defmodule Pleroma.Web.MastodonAPI.ConversationView do
alias Pleroma.Web.MastodonAPI.StatusView
def render("participation.json", %{participation: participation, user: user}) do
participation = Repo.preload(participation, conversation: :users, recipients: [])
participation = Repo.preload(participation, conversation: [], recipients: [])
last_activity_id =
with nil <- participation.last_activity_id do
@ -28,7 +28,7 @@ def render("participation.json", %{participation: participation, user: user}) do
# Conversations return all users except the current user.
users =
participation.conversation.users
participation.recipients
|> Enum.reject(&(&1.id == user.id))
accounts =
@ -37,20 +37,11 @@ def render("participation.json", %{participation: participation, user: user}) do
as: :user
})
recipients =
AccountView.render("accounts.json", %{
users: participation.recipients,
as: :user
})
%{
id: participation.id |> to_string(),
accounts: accounts,
unread: !participation.read,
last_status: last_status,
pleroma: %{
recipients: recipients
}
last_status: last_status
}
end
end

View file

@ -30,11 +30,5 @@ test "represents a Mastodon Conversation entity" do
assert [account] = conversation.accounts
assert account.id == other_user.id
assert recipients = conversation.pleroma.recipients
recipient_ids = recipients |> Enum.map(& &1.id)
assert user.id in recipient_ids
assert other_user.id in recipient_ids
end
end

View file

@ -67,10 +67,10 @@ test "PATCH /api/v1/pleroma/conversations/:id", %{conn: conn} do
assert result["id"] == participation.id |> to_string
assert recipients = result["pleroma"]["recipients"]
recipient_ids = Enum.map(recipients, & &1["id"])
[participation] = Participation.for_user(user)
participation = Repo.preload(participation, :recipients)
assert user.id in recipient_ids
assert other_user.id in recipient_ids
assert user in participation.recipients
assert other_user in participation.recipients
end
end