summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/conversation.ex1
-rw-r--r--lib/pleroma/conversation/participation.ex1
-rw-r--r--lib/pleroma/web/mastodon_api/mastodon_api_controller.ex9
3 files changed, 9 insertions, 2 deletions
diff --git a/lib/pleroma/conversation.ex b/lib/pleroma/conversation.ex
index 5a2a3fc6d..d9c84cb1b 100644
--- a/lib/pleroma/conversation.ex
+++ b/lib/pleroma/conversation.ex
@@ -13,6 +13,7 @@ defmodule Pleroma.Conversation do
# This is the context ap id.
field(:ap_id, :string)
has_many(:participations, Participation)
+ has_many(:users, through: [:participations, :user])
timestamps()
end
diff --git a/lib/pleroma/conversation/participation.ex b/lib/pleroma/conversation/participation.ex
index 1a2ceafeb..f200c1df5 100644
--- a/lib/pleroma/conversation/participation.ex
+++ b/lib/pleroma/conversation/participation.ex
@@ -60,6 +60,7 @@ defmodule Pleroma.Conversation.Participation do
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
diff --git a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
index 3ffb767b9..c7166ff28 100644
--- a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
+++ b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex
@@ -1594,10 +1594,15 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController 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
}