defmodule Pleroma.Web.TwitterAPI.Controller do
use Pleroma.Web, :controller
- alias Pleroma.Web.TwitterAPI.{TwitterAPI, UserView, ActivityView}
+ alias Pleroma.Web.TwitterAPI.{TwitterAPI, UserView, ActivityView, NotificationView}
alias Pleroma.Web.CommonAPI
- alias Pleroma.{Repo, Activity, User}
+ alias Pleroma.{Repo, Activity, User, Notification}
alias Pleroma.Web.ActivityPub.ActivityPub
alias Ecto.Changeset
def public_and_external_timeline(%{assigns: %{user: user}} = conn, params) do
params =
params
- |> Map.put("type", ["Create", "Announce", "Follow"])
+ |> Map.put("type", ["Create", "Announce"])
|> Map.put("blocking_user", user)
activities = ActivityPub.fetch_public_activities(params)
def public_timeline(%{assigns: %{user: user}} = conn, params) do
params =
params
- |> Map.put("type", ["Create", "Announce", "Follow"])
+ |> Map.put("type", ["Create", "Announce"])
|> Map.put("local_only", true)
|> Map.put("blocking_user", user)
|> render(ActivityView, "index.json", %{activities: activities, for: user})
end
+ def notifications(%{assigns: %{user: user}} = conn, params) do
+ notifications = Notification.for_user(user, params)
+
+ conn
+ |> render(NotificationView, "notification.json", %{notifications: notifications, for: user})
+ end
+
def follow(%{assigns: %{user: user}} = conn, params) do
case TwitterAPI.follow(user, params) do
{:ok, user, followed, _activity} ->
def update_profile(%{assigns: %{user: user}} = conn, params) do
params =
if bio = params["description"] do
- Map.put(params, "bio", bio)
+ bio_brs = Regex.replace(~r/\r?\n/, bio, "<br>")
+ Map.put(params, "bio", bio_brs)
else
params
end