Add friends status fetching.
[akkoma] / lib / pleroma / web / twitter_api / twitter_api.ex
index da707dd6ebd05348234af6c3e1a29b510776977f..7e0ca42338a896f3442c86fd9453d1da2fac8725 100644 (file)
@@ -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)