diff options
author | Sadposter <hannah+pleroma@coffee-and-dreams.uk> | 2019-04-05 13:49:33 +0100 |
---|---|---|
committer | Hannah Ward <Hannah.ward9001@gmail.com> | 2019-04-05 15:30:18 +0100 |
commit | 79910ce5cc85f83e58c5f49e53b4b6263925d110 (patch) | |
tree | e7d07713ceff50708d1e8631146e591670eaf7cb /lib/pleroma/user.ex | |
parent | 9c9eec62c2fb67507708dd9e5d3f80a098881a6e (diff) | |
download | pleroma-79910ce5cc85f83e58c5f49e53b4b6263925d110.tar.gz |
Add API endpoints and user column for subscription
Diffstat (limited to 'lib/pleroma/user.ex')
-rw-r--r-- | lib/pleroma/user.ex | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/pleroma/user.ex b/lib/pleroma/user.ex index 5012aef77..b7cab8642 100644 --- a/lib/pleroma/user.ex +++ b/lib/pleroma/user.ex @@ -923,6 +923,26 @@ defmodule Pleroma.User do update_and_set_cache(cng) end + def subscribe(subscriber, %{ap_id: ap_id}) do + info_cng = + subscriber.info + |> User.Info.add_to_subscriptions(ap_id) + + change(subscriber) + |> put_embed(:info, info_cng) + |> update_and_set_cache() + end + + def unsubscribe(unsubscriber, %{ap_id: ap_id}) do + info_cng = + subscriber.info + |> User.Info.remove_from_subscriptions(ap_id) + + change(subscriber) + |> put_embed(:info, info_cng) + |> update_and_set_cache() + end + def block(blocker, %User{ap_id: ap_id} = blocked) do # sever any follow relationships to prevent leaks per activitypub (Pleroma issue #213) blocker = |