projects
/
akkoma
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'develop' of git.pleroma.social:pleroma/pleroma into remake-remodel-dms
[akkoma]
/
lib
/
pleroma
/
chat.ex
diff --git
a/lib/pleroma/chat.ex
b/lib/pleroma/chat.ex
index b8545063a3ee2bb931c5fbc0b75ab896cd5a0e5d..1a092b9924f2be366f840f72798672b3008c08a6 100644
(file)
--- 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
|> 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)
_ -> []
end
end)
@@
-46,7
+46,8
@@
defmodule Pleroma.Chat do
%__MODULE__{}
|> creation_cng(%{user_id: user_id, recipient: recipient})
|> Repo.insert(
%__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]
)
returning: true,
conflict_target: [:user_id, :recipient]
)
@@
-60,4
+61,10
@@
defmodule Pleroma.Chat do
conflict_target: [:user_id, :recipient]
)
end
conflict_target: [:user_id, :recipient]
)
end
+
+ def mark_as_read(chat) do
+ chat
+ |> change(%{unread: 0})
+ |> Repo.update()
+ end
end
end