|
|
|
@ -6,7 +6,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
|
|
|
|
|
use Pleroma.Web, :controller
|
|
|
|
|
|
|
|
|
|
import Pleroma.Web.ControllerHelper,
|
|
|
|
|
only: [json_response: 3, add_link_headers: 5, add_link_headers: 4, add_link_headers: 3]
|
|
|
|
|
only: [json_response: 3, add_link_headers: 2, add_link_headers: 3]
|
|
|
|
|
|
|
|
|
|
alias Ecto.Changeset
|
|
|
|
|
alias Pleroma.Activity
|
|
|
|
@ -365,7 +365,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
|
|
|
|
|
|> Enum.reverse()
|
|
|
|
|
|
|
|
|
|
conn
|
|
|
|
|
|> add_link_headers(:home_timeline, activities)
|
|
|
|
|
|> add_link_headers(activities)
|
|
|
|
|
|> put_view(StatusView)
|
|
|
|
|
|> render("index.json", %{activities: activities, for: user, as: :activity})
|
|
|
|
|
end
|
|
|
|
@ -384,7 +384,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
|
|
|
|
|
|> Enum.reverse()
|
|
|
|
|
|
|
|
|
|
conn
|
|
|
|
|
|> add_link_headers(:public_timeline, activities, false, %{"local" => local_only})
|
|
|
|
|
|> add_link_headers(activities, %{"local" => local_only})
|
|
|
|
|
|> put_view(StatusView)
|
|
|
|
|
|> render("index.json", %{activities: activities, for: user, as: :activity})
|
|
|
|
|
end
|
|
|
|
@ -398,7 +398,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
|
|
|
|
|
activities = ActivityPub.fetch_user_activities(user, reading_user, params)
|
|
|
|
|
|
|
|
|
|
conn
|
|
|
|
|
|> add_link_headers(:user_statuses, activities, params["id"])
|
|
|
|
|
|> add_link_headers(activities)
|
|
|
|
|
|> put_view(StatusView)
|
|
|
|
|
|> render("index.json", %{
|
|
|
|
|
activities: activities,
|
|
|
|
@ -422,7 +422,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
|
|
|
|
|
|> Pagination.fetch_paginated(params)
|
|
|
|
|
|
|
|
|
|
conn
|
|
|
|
|
|> add_link_headers(:dm_timeline, activities)
|
|
|
|
|
|> add_link_headers(activities)
|
|
|
|
|
|> put_view(StatusView)
|
|
|
|
|
|> render("index.json", %{activities: activities, for: user, as: :activity})
|
|
|
|
|
end
|
|
|
|
@ -537,7 +537,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
|
|
|
|
|
def scheduled_statuses(%{assigns: %{user: user}} = conn, params) do
|
|
|
|
|
with scheduled_activities <- MastodonAPI.get_scheduled_activities(user, params) do
|
|
|
|
|
conn
|
|
|
|
|
|> add_link_headers(:scheduled_statuses, scheduled_activities)
|
|
|
|
|
|> add_link_headers(scheduled_activities)
|
|
|
|
|
|> put_view(ScheduledActivityView)
|
|
|
|
|
|> render("index.json", %{scheduled_activities: scheduled_activities})
|
|
|
|
|
end
|
|
|
|
@ -720,7 +720,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
|
|
|
|
|
notifications = MastodonAPI.get_notifications(user, params)
|
|
|
|
|
|
|
|
|
|
conn
|
|
|
|
|
|> add_link_headers(:notifications, notifications)
|
|
|
|
|
|> add_link_headers(notifications)
|
|
|
|
|
|> put_view(NotificationView)
|
|
|
|
|
|> render("index.json", %{notifications: notifications, for: user})
|
|
|
|
|
end
|
|
|
|
@ -908,7 +908,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
|
|
|
|
|
|> Enum.reverse()
|
|
|
|
|
|
|
|
|
|
conn
|
|
|
|
|
|> add_link_headers(:hashtag_timeline, activities, params["tag"], %{"local" => local_only})
|
|
|
|
|
|> add_link_headers(activities, %{"local" => local_only})
|
|
|
|
|
|> put_view(StatusView)
|
|
|
|
|
|> render("index.json", %{activities: activities, for: user, as: :activity})
|
|
|
|
|
end
|
|
|
|
@ -924,7 +924,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
conn
|
|
|
|
|
|> add_link_headers(:followers, followers, user)
|
|
|
|
|
|> add_link_headers(followers)
|
|
|
|
|
|> put_view(AccountView)
|
|
|
|
|
|> render("accounts.json", %{for: for_user, users: followers, as: :user})
|
|
|
|
|
end
|
|
|
|
@ -941,7 +941,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|
conn
|
|
|
|
|
|> add_link_headers(:following, followers, user)
|
|
|
|
|
|> add_link_headers(followers)
|
|
|
|
|
|> put_view(AccountView)
|
|
|
|
|
|> render("accounts.json", %{for: for_user, users: followers, as: :user})
|
|
|
|
|
end
|
|
|
|
@ -1166,7 +1166,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
|
|
|
|
|
|> Enum.reverse()
|
|
|
|
|
|
|
|
|
|
conn
|
|
|
|
|
|> add_link_headers(:favourites, activities)
|
|
|
|
|
|> add_link_headers(activities)
|
|
|
|
|
|> put_view(StatusView)
|
|
|
|
|
|> render("index.json", %{activities: activities, for: user, as: :activity})
|
|
|
|
|
end
|
|
|
|
@ -1193,7 +1193,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
|
|
|
|
|
|> Enum.reverse()
|
|
|
|
|
|
|
|
|
|
conn
|
|
|
|
|
|> add_link_headers(:favourites, activities)
|
|
|
|
|
|> add_link_headers(activities)
|
|
|
|
|
|> put_view(StatusView)
|
|
|
|
|
|> render("index.json", %{activities: activities, for: for_user, as: :activity})
|
|
|
|
|
else
|
|
|
|
@ -1214,7 +1214,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
|
|
|
|
|
|> Enum.map(fn b -> Map.put(b.activity, :bookmark, Map.delete(b, :activity)) end)
|
|
|
|
|
|
|
|
|
|
conn
|
|
|
|
|
|> add_link_headers(:bookmarks, bookmarks)
|
|
|
|
|
|> add_link_headers(bookmarks)
|
|
|
|
|
|> put_view(StatusView)
|
|
|
|
|
|> render("index.json", %{activities: activities, for: user, as: :activity})
|
|
|
|
|
end
|
|
|
|
@ -1654,7 +1654,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do
|
|
|
|
|
end)
|
|
|
|
|
|
|
|
|
|
conn
|
|
|
|
|
|> add_link_headers(:conversations, participations)
|
|
|
|
|
|> add_link_headers(participations)
|
|
|
|
|
|> json(conversations)
|
|
|
|
|
end
|
|
|
|
|
|
|
|
|
|