|
|
@@ -101,8 +101,8 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
def follow(%User{} = follower, %{ "user_id" => followed_id }) do |
|
|
|
with %User{} = followed <- Repo.get(User, followed_id), |
|
|
|
def follow(%User{} = follower, params) do |
|
|
|
with %User{} = followed <- get_user(params), |
|
|
|
{ :ok, follower } <- User.follow(follower, followed), |
|
|
|
{ :ok, activity } <- ActivityPub.insert(%{ |
|
|
|
"type" => "Follow", |
|
|
@@ -115,20 +115,6 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
def follow(%User{} = follower, %{ "screen_name" => followed_name }) do |
|
|
|
with %User{} = followed <- Repo.get_by(User, nickname: followed_name), |
|
|
|
{ :ok, follower } <- User.follow(follower, followed), |
|
|
|
{ :ok, activity } <- ActivityPub.insert(%{ |
|
|
|
"type" => "Follow", |
|
|
|
"actor" => follower.ap_id, |
|
|
|
"object" => followed.ap_id, |
|
|
|
"published" => make_date() |
|
|
|
}) |
|
|
|
do |
|
|
|
{ :ok, follower, followed, activity } |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
def unfollow(%User{} = follower, followed_id) do |
|
|
|
with %User{} = followed <- Repo.get(User, followed_id), |
|
|
|
{ :ok, follower } <- User.unfollow(follower, followed) |
|
|
@@ -202,4 +188,13 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do |
|
|
|
defp make_date do |
|
|
|
DateTime.utc_now() |> DateTime.to_iso8601 |
|
|
|
end |
|
|
|
|
|
|
|
defp get_user(params) do |
|
|
|
case params do |
|
|
|
%{ "user_id" => user_id } -> |
|
|
|
Repo.get(User, user_id) |
|
|
|
%{ "screen_name" => nickname } -> |
|
|
|
Repo.get_by(User, nickname: nickname) |
|
|
|
end |
|
|
|
end |
|
|
|
end |