Add friends status fetching.
This commit is contained in:
parent
569d9bac17
commit
37e443ce6c
6 changed files with 47 additions and 14 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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_public_statuses(opts \\ %{}) do
|
||||
activities = ActivityPub.fetch_public_activities(opts)
|
||||
def fetch_friend_statuses(user, opts \\ %{}) do
|
||||
ActivityPub.fetch_activities(user.following, opts)
|
||||
|> activities_to_statuses
|
||||
end
|
||||
|
||||
def fetch_public_statuses(opts \\ %{}) do
|
||||
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)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue