Skip to content
Snippets Groups Projects
Commit b502d798 authored by dtluna's avatar dtluna
Browse files

Add Follow Activity representer

parent 8075bada
No related branches found
No related tags found
No related merge requests found
......@@ -3,6 +3,20 @@ defmodule Pleroma.Web.TwitterAPI.Representers.ActivityRepresenter do
alias Pleroma.Web.TwitterAPI.Representers.{UserRepresenter, ObjectRepresenter}
alias Pleroma.Activity
def to_map(%Activity{data: %{"type" => "Follow"}} = activity, %{user: user} = opts) do
%{
"id" => activity.id,
"user" => UserRepresenter.to_map(user, opts),
"attentions" => [],
"statusnet_html" => "", # TODO: add summary
"text" => "",
"is_local" => true,
"is_post_verb" => false,
"created_at" => get_in(activity.data, ["published"]),
"in_reply_to_status_id" => nil,
}
end
def to_map(%Activity{} = activity, %{user: user} = opts) do
content = get_in(activity.data, ["object", "content"])
published = get_in(activity.data, ["object", "published"])
......
......@@ -6,8 +6,6 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
import Ecto.Query
def create_status(user = %User{}, data = %{}) do
date = DateTime.utc_now() |> DateTime.to_iso8601
attachments = Enum.map(data["media_ids"] || [], fn (media_id) ->
Repo.get(Object, media_id).data
end)
......@@ -35,11 +33,11 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
"type" => "Note",
"to" => to,
"content" => content_html,
"published" => date,
"published" => make_date,
"context" => context,
"attachment" => attachments
},
"published" => date,
"published" => make_date,
"context" => context
}
......@@ -107,7 +105,8 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
{ :ok, activity } <- ActivityPub.insert(%{
"type" => "Follow",
"actor" => follower.ap_id,
"object" => followed.ap_id
"object" => followed.ap_id,
"published" => make_date
})
do
{ :ok, follower, followed, activity }
......@@ -183,4 +182,8 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
mentioned_users = Repo.all(from user in User, where: user.ap_id in ^activity.data["to"])
ActivityRepresenter.to_map(activity, Map.merge(opts, %{user: user, mentioned: mentioned_users}))
end
defp make_date do
DateTime.utc_now() |> DateTime.to_iso8601
end
end
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment