+ ActivityPub.fetch_public_activities(opts)
+ |> activities_to_statuses
+ end
+
+ def follow(%User{} = follower, followed_id) do
+ with %User{} = followed <- Repo.get(User, followed_id),
+ { :ok, follower } <- User.follow(follower, followed)
+ do
+ { :ok, follower, followed }
+ end
+ end
+
+ def unfollow(%User{} = follower, followed_id) do
+ with %User{} = followed <- Repo.get(User, followed_id),
+ { :ok, follower } <- User.unfollow(follower, followed)
+ do
+ { :ok, follower, followed }
+ end
+ end