aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/conversation/participation.ex18
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/conversation/participation.ex b/lib/conversation/participation.ex
index 244d37c46..ab59a529e 100644
--- a/lib/conversation/participation.ex
+++ b/lib/conversation/participation.ex
@@ -28,4 +28,22 @@ defmodule Pleroma.Conversation.Participation do
|> creation_cng(%{user_id: user.id, conversation_id: conversation.id})
|> Repo.insert()
end
+
+ def read_cng(struct, params) do
+ struct
+ |> cast(params, [:read])
+ |> validate_required([:read])
+ end
+
+ def mark_as_read(participation) do
+ participation
+ |> read_cng(%{read: true})
+ |> Repo.update()
+ end
+
+ def mark_as_unread(participation) do
+ participation
+ |> read_cng(%{read: false})
+ |> Repo.update()
+ end
end