diff options
author | lain <lain@soykaf.club> | 2019-08-05 15:09:19 +0200 |
---|---|---|
committer | lain <lain@soykaf.club> | 2019-08-05 15:09:19 +0200 |
commit | 3af6d14da769aa5adfdd6360b43c691fd8c8eed5 (patch) | |
tree | f638fe3d499745755585375a78ab47b8deb55d5a /lib/pleroma/conversation | |
parent | eee98aaa738c1aa5f2e4203a61b67648d62965c8 (diff) | |
download | pleroma-3af6d14da769aa5adfdd6360b43c691fd8c8eed5.tar.gz |
Pleroma Conversations API: Add a way to set recipients.
Diffstat (limited to 'lib/pleroma/conversation')
-rw-r--r-- | lib/pleroma/conversation/participation.ex | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/pleroma/conversation/participation.ex b/lib/pleroma/conversation/participation.ex index f1e1a6958..acdee5517 100644 --- a/lib/pleroma/conversation/participation.ex +++ b/lib/pleroma/conversation/participation.ex @@ -99,4 +99,24 @@ defmodule Pleroma.Conversation.Participation do def get(id) do Repo.get(__MODULE__, id) end + + def set_recipients(participation, user_ids) do + Repo.transaction(fn -> + query = + from(r in RecipientShip, + where: r.participation_id == ^participation.id + ) + + Repo.delete_all(query) + + users = + from(u in User, + where: u.id in ^user_ids + ) + |> Repo.all() + + RecipientShip.create(users, participation) + :ok + end) + end end |