Mastodon API: Add pleroma.unread_conversation_count to the Account entity
This commit is contained in:
parent
4fe2af3b2d
commit
06d9df79c5
11 changed files with 211 additions and 14 deletions
|
|
@ -52,6 +52,15 @@ defmodule Pleroma.Conversation.Participation do
|
|||
participation
|
||||
|> read_cng(%{read: true})
|
||||
|> Repo.update()
|
||||
|> case do
|
||||
{:ok, participation} ->
|
||||
participation = Repo.preload(participation, :user)
|
||||
User.set_unread_conversation_count(participation.user)
|
||||
{:ok, participation}
|
||||
|
||||
error ->
|
||||
error
|
||||
end
|
||||
end
|
||||
|
||||
def mark_as_unread(participation) do
|
||||
|
|
@ -135,4 +144,12 @@ defmodule Pleroma.Conversation.Participation do
|
|||
|
||||
{:ok, Repo.preload(participation, :recipients, force: true)}
|
||||
end
|
||||
|
||||
def unread_conversation_count_for_user(user) do
|
||||
from(p in __MODULE__,
|
||||
where: p.user_id == ^user.id,
|
||||
where: not p.read,
|
||||
select: %{count: count(p.id)}
|
||||
)
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue