# This is the context ap id.
field(:ap_id, :string)
has_many(:participations, Participation)
+ has_many(:users, through: [:participations, :user])
timestamps()
end
order_by: [desc: p.updated_at]
)
|> Pleroma.Pagination.fetch_paginated(params)
+ |> Repo.preload(conversation: [:users])
end
def for_user_with_last_activity_id(user, params \\ %{}) do
last_status = StatusView.render("status.json", %{activity: activity, for: user})
+ accounts =
+ AccountView.render("accounts.json", %{
+ users: participation.conversation.users,
+ as: :user
+ })
+
%{
id: participation.id |> to_string(),
- # TODO: Add this.
- accounts: [],
+ accounts: accounts,
unread: !participation.read,
last_status: last_status
}
conversation_three =
Conversation.get_for_ap_id(context)
- |> Repo.preload(:participations)
+ |> Repo.preload([:participations, :users])
assert conversation_three.id == conversation.id
assert Enum.find(conversation_three.participations, fn %{user_id: user_id} ->
tridi.id == user_id
end)
+
+ assert Enum.find(conversation_three.users, fn %{id: user_id} ->
+ har.id == user_id
+ end)
+
+ assert Enum.find(conversation_three.users, fn %{id: user_id} ->
+ jafnhar.id == user_id
+ end)
+
+ assert Enum.find(conversation_three.users, fn %{id: user_id} ->
+ tridi.id == user_id
+ end)
end
end
}
] = response
+ assert length(res_accounts) == 2
assert is_binary(res_id)
assert unread == true
assert res_last_status["id"] == direct.id