X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Ftwitter_api%2Ftwitter_api.ex;h=1c3396d27adf46a8fb4be0b4aeecf624b691ca01;hb=e8882ab3daa754aea8b2b1a96b7532c14530bbdc;hp=cb48c7f5fb40fa094df1ba489d33e4d358193bf5;hpb=6c5f5e18ec1103a9d10d88081a27c2ae9dba4f41;p=akkoma diff --git a/lib/pleroma/web/twitter_api/twitter_api.ex b/lib/pleroma/web/twitter_api/twitter_api.ex index cb48c7f5f..1c3396d27 100644 --- a/lib/pleroma/web/twitter_api/twitter_api.ex +++ b/lib/pleroma/web/twitter_api/twitter_api.ex @@ -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 @@ -253,11 +253,11 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do {:error, changeset} -> errors = Ecto.Changeset.traverse_errors(changeset, fn {msg, _opts} -> msg end) |> Poison.encode! - {:error, %{error: errors}} + {:error, %{error: errors}} 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