diff options
author | eugenijm <eugenijm@protonmail.com> | 2019-12-20 16:38:21 +0300 |
---|---|---|
committer | eugenijm <eugenijm@protonmail.com> | 2020-01-05 17:38:51 +0300 |
commit | 0b6d1292d29e1f376566fe75aca60c612e9233dc (patch) | |
tree | cf98d1ca36ab0cdcbb5e415f257afc9e3be022e9 /lib/pleroma/conversation | |
parent | ee0c40831efde5054f587ae0e371fffcad1396b7 (diff) | |
download | pleroma-0b6d1292d29e1f376566fe75aca60c612e9233dc.tar.gz |
Fix mark-as-read (`POST /api/v1/conversations/:id/read`) refreshing updated_at and bringing conversation to the top in the user's direct conversation list
Diffstat (limited to 'lib/pleroma/conversation')
-rw-r--r-- | lib/pleroma/conversation/participation.ex | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/lib/pleroma/conversation/participation.ex b/lib/pleroma/conversation/participation.ex index aafe57280..e5d28ebff 100644 --- a/lib/pleroma/conversation/participation.ex +++ b/lib/pleroma/conversation/participation.ex @@ -64,11 +64,13 @@ defmodule Pleroma.Conversation.Participation do end def mark_as_read(participation) do - participation - |> read_cng(%{read: true}) - |> Repo.update() + __MODULE__ + |> where(id: ^participation.id) + |> update(set: [read: true]) + |> select([p], p) + |> Repo.update_all([]) |> case do - {:ok, participation} -> + {1, [participation]} -> participation = Repo.preload(participation, :user) User.set_unread_conversation_count(participation.user) {:ok, participation} |