ChatController: Add creation and return of chats.

This commit is contained in:
lain 2020-04-09 15:13:55 +02:00
commit 68abea313d
4 changed files with 119 additions and 0 deletions

View file

@ -35,6 +35,16 @@ defmodule Pleroma.Chat do
|> Repo.get_by(user_id: user_id, recipient: recipient)
end
def get_or_create(user_id, recipient) do
%__MODULE__{}
|> creation_cng(%{user_id: user_id, recipient: recipient})
|> Repo.insert(
on_conflict: :nothing,
returning: true,
conflict_target: [:user_id, :recipient]
)
end
def bump_or_create(user_id, recipient) do
%__MODULE__{}
|> creation_cng(%{user_id: user_id, recipient: recipient, unread: 1})