X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fchat.ex;h=1a092b9924f2be366f840f72798672b3008c08a6;hb=7637ef42033b2da79ca61e9dee8fb4187d1a8257;hp=b8545063a3ee2bb931c5fbc0b75ab896cd5a0e5d;hpb=139b9d1338618aa0107c188a9a5505c6615768be;p=akkoma diff --git a/lib/pleroma/chat.ex b/lib/pleroma/chat.ex index b8545063a..1a092b992 100644 --- a/lib/pleroma/chat.ex +++ b/lib/pleroma/chat.ex @@ -29,7 +29,7 @@ defmodule Pleroma.Chat do |> validate_change(:recipient, fn :recipient, recipient -> case User.get_cached_by_ap_id(recipient) do - nil -> [recipient: "must a an existing user"] + nil -> [recipient: "must be an existing user"] _ -> [] end end) @@ -46,7 +46,8 @@ defmodule Pleroma.Chat do %__MODULE__{} |> creation_cng(%{user_id: user_id, recipient: recipient}) |> Repo.insert( - on_conflict: :nothing, + # Need to set something, otherwise we get nothing back at all + on_conflict: [set: [recipient: recipient]], returning: true, conflict_target: [:user_id, :recipient] ) @@ -60,4 +61,10 @@ defmodule Pleroma.Chat do conflict_target: [:user_id, :recipient] ) end + + def mark_as_read(chat) do + chat + |> change(%{unread: 0}) + |> Repo.update() + end end