X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Ftwitter_api%2Ftwitter_api.ex;h=0641200312e86f02b31bf34919f47c4f1f68c79d;hb=18cd04ade576969b25e96733dddb8255fbf13a6d;hp=0d9a491dafaf98b052318854878242c26613dd34;hpb=57795f73323820d9c67184b9c383b77b8d6c6fbd;p=akkoma diff --git a/lib/pleroma/web/twitter_api/twitter_api.ex b/lib/pleroma/web/twitter_api/twitter_api.ex index 0d9a491da..064120031 100644 --- a/lib/pleroma/web/twitter_api/twitter_api.ex +++ b/lib/pleroma/web/twitter_api/twitter_api.ex @@ -25,7 +25,7 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do content_html = add_user_links(content, mentions) - date = make_date + date = make_date() activity = %{ "type" => "Create", @@ -69,7 +69,7 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do end def fetch_friend_statuses(user, opts \\ %{}) do - ActivityPub.fetch_activities(user.following, opts) + ActivityPub.fetch_activities([user.ap_id | user.following], opts) |> activities_to_statuses(%{for: user}) end @@ -78,6 +78,12 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do |> activities_to_statuses(%{for: user}) end + def fetch_user_statuses(user, opts \\ %{}) do + target = get_user(user, opts) + ActivityPub.fetch_activities([], Map.merge(opts, %{"actor_id" => target.ap_id})) + |> activities_to_statuses(%{for: user}) + end + def fetch_conversation(user, id) do query = from activity in Activity, where: fragment("? @> ?", activity.data, ^%{ statusnetConversationId: id}), @@ -108,7 +114,7 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do "type" => "Follow", "actor" => follower.ap_id, "object" => followed.ap_id, - "published" => make_date + "published" => make_date() }) do { :ok, follower, followed, activity } @@ -188,4 +194,15 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do defp make_date do DateTime.utc_now() |> DateTime.to_iso8601 end + + defp get_user(user, params) do + case params do + %{ "user_id" => user_id } -> + Repo.get(User, user_id) + %{ "screen_name" => nickname } -> + Repo.get_by!(User, nickname: nickname) + _ -> + user + end + end end