Merge branch 'develop' into feature/incoming_ostatus
[akkoma] / lib / pleroma / web / twitter_api / twitter_api.ex
index e4e26df1581cf09af5d8e01412d504391ec10333..1c3396d27adf46a8fb4be0b4aeecf624b691ca01 100644 (file)
@@ -124,9 +124,9 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
     end
   end
 
-  def follow(%User{} = follower, followed_id) do
-    with %User{} = followed <- Repo.get(User, followed_id),
-    { :ok, follower } <- User.follow(follower, followed),
+  def follow(%User{} = follower, params) do
+    with { :ok, %User{} = followed } <- get_user(params),
+         { :ok, follower } <- User.follow(follower, followed),
          { :ok, activity } <- ActivityPub.insert(%{
            "type" => "Follow",
            "actor" => follower.ap_id,
@@ -140,11 +140,11 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
     end
   end
 
-  def unfollow(%User{} = follower, followed_id) do
-    with %User{} = followed <- Repo.get(User, followed_id),
-         { :ok, follower } <- User.unfollow(follower, followed)
+  def unfollow(%User{} = follower, params) do
+    with { :ok, %User{} = unfollowed } <- get_user(params),
+         { :ok, follower } <- User.unfollow(follower, unfollowed)
     do
-      { :ok, follower, followed }
+      { :ok, follower, unfollowed}
     else
       err -> err
     end
@@ -257,7 +257,7 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
     end
   end
 
-  def get_user(user, params) do
+  def get_user(user \\ nil, params) do
     case params do
       %{ "user_id" => user_id } ->
         case target = Repo.get(User, user_id) do