Conversations: Create or bump on inserting a dm.
[akkoma] / lib / conversation / participation.ex
index ab59a529e61f2b6824247553acbd21d790fb8dbc..a58d0ca0dea91b21fc4e4ed196ef3c799899332a 100644 (file)
@@ -26,7 +26,11 @@ defmodule Pleroma.Conversation.Participation do
   def create_for_user_and_conversation(user, conversation) do
     %__MODULE__{}
     |> creation_cng(%{user_id: user.id, conversation_id: conversation.id})
-    |> Repo.insert()
+    |> Repo.insert(
+      on_conflict: [set: [read: false, updated_at: NaiveDateTime.utc_now()]],
+      returning: true,
+      conflict_target: [:user_id, :conversation_id]
+    )
   end
 
   def read_cng(struct, params) do