diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pleroma/web/twitter_api/representers/activity_representer.ex | 7 | ||||
-rw-r--r-- | lib/pleroma/web/twitter_api/twitter_api.ex | 17 |
2 files changed, 19 insertions, 5 deletions
diff --git a/lib/pleroma/web/twitter_api/representers/activity_representer.ex b/lib/pleroma/web/twitter_api/representers/activity_representer.ex index 32871c0de..171878162 100644 --- a/lib/pleroma/web/twitter_api/representers/activity_representer.ex +++ b/lib/pleroma/web/twitter_api/representers/activity_representer.ex @@ -1,9 +1,11 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenter do use Pleroma.Web.TwitterAPI.Representers.BaseRepresenter alias Pleroma.Web.TwitterAPI.Representers.UserRepresenter + alias Pleroma.Activity - def to_map(activity, %{user: user}) do + def to_map(%Activity{} = activity, %{user: user}) do content = get_in(activity.data, ["object", "content"]) + published = get_in(activity.data, ["object", "published"]) %{ "id" => activity.id, "user" => UserRepresenter.to_map(user), @@ -11,7 +13,8 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenter do "statusnet_html" => content, "text" => content, "is_local" => true, - "is_post_verb" => true + "is_post_verb" => true, + "created_at" => published } end end 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) |