diff options
Diffstat (limited to 'lib/pleroma/web/twitter_api/twitter_api.ex')
-rw-r--r-- | lib/pleroma/web/twitter_api/twitter_api.ex | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/lib/pleroma/web/twitter_api/twitter_api.ex b/lib/pleroma/web/twitter_api/twitter_api.ex index da707dd6e..7e0ca4233 100644 --- a/lib/pleroma/web/twitter_api/twitter_api.ex +++ b/lib/pleroma/web/twitter_api/twitter_api.ex @@ -5,6 +5,7 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do alias Pleroma.Web.TwitterAPI.Representers.ActivityRepresenter def create_status(user = %User{}, data = %{}) do + date = DateTime.utc_now() |> DateTime.to_iso8601 activity = %{ "type" => "Create", "to" => [ @@ -14,16 +15,26 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do "actor" => User.ap_id(user), "object" => %{ "type" => "Note", - "content" => data["status"] - } + "content" => data["status"], + "published" => date + }, + "published" => date } ActivityPub.insert(activity) end + def fetch_friend_statuses(user, opts \\ %{}) do + ActivityPub.fetch_activities(user.following, opts) + |> activities_to_statuses + end + def fetch_public_statuses(opts \\ %{}) do - activities = ActivityPub.fetch_public_activities(opts) + ActivityPub.fetch_public_activities(opts) + |> activities_to_statuses + end + defp activities_to_statuses(activities) do Enum.map(activities, fn(activity) -> actor = get_in(activity.data, ["actor"]) user = Repo.get_by!(User, ap_id: actor) |