summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/pleroma/web/twitter_api/representers/activity_representer.ex7
-rw-r--r--lib/pleroma/web/twitter_api/twitter_api.ex17
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)