Add twkn timeline.

This commit is contained in:
Roger Braun 2017-05-02 14:12:43 +02:00
commit 32a95d73da
5 changed files with 35 additions and 2 deletions

View file

@ -149,6 +149,12 @@ defmodule Pleroma.Web.ActivityPub.ActivityPub do
query = from activity in query,
where: activity.id > ^since_id
query = if opts["local_only"] do
from activity in query, where: activity.local == true
else
query
end
query = if opts["max_id"] do
from activity in query, where: activity.id < ^opts["max_id"]
else

View file

@ -30,7 +30,7 @@ defmodule Pleroma.Web.Router do
get "/statusnet/config", TwitterAPI.Controller, :config
get "/statuses/public_timeline", TwitterAPI.Controller, :public_timeline
get "/statuses/public_and_external_timeline", TwitterAPI.Controller, :public_timeline
get "/statuses/public_and_external_timeline", TwitterAPI.Controller, :public_and_external_timeline
get "/statuses/user_timeline", TwitterAPI.Controller, :user_timeline
get "/statuses/show/:id", TwitterAPI.Controller, :fetch_status

View file

@ -84,6 +84,12 @@ defmodule Pleroma.Web.TwitterAPI.TwitterAPI do
end
def fetch_public_statuses(user, opts \\ %{}) do
opts = Map.put(opts, "local_only", true)
ActivityPub.fetch_public_activities(opts)
|> activities_to_statuses(%{for: user})
end
def fetch_public_and_external_statuses(user, opts \\ %{}) do
ActivityPub.fetch_public_activities(opts)
|> activities_to_statuses(%{for: user})
end

View file

@ -41,6 +41,14 @@ defmodule Pleroma.Web.TwitterAPI.Controller do
end
end
def public_and_external_timeline(%{assigns: %{user: user}} = conn, params) do
statuses = TwitterAPI.fetch_public_and_external_statuses(user, params)
{:ok, json} = Poison.encode(statuses)
conn
|> json_reply(200, json)
end
def public_timeline(%{assigns: %{user: user}} = conn, params) do
statuses = TwitterAPI.fetch_public_statuses(user, params)
{:ok, json} = Poison.encode(statuses)