X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Fmastodon_api%2Fmastodon_api_controller.ex;h=a01a199fb8a2f1d83c76f8c206ee618cf3127483;hb=b4f055b60416986220d905bbf688f8417cd8a270;hp=c231ff7f829e6b270a3a7677f30d38cd15cc01e9;hpb=c36229c4aa3bd0ac49d9dcd589790f5c47470564;p=akkoma diff --git a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex index c231ff7f8..a01a199fb 100644 --- a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex +++ b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex @@ -77,7 +77,10 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do end def home_timeline(%{assigns: %{user: user}} = conn, params) do - activities = ActivityPub.fetch_activities([user.ap_id | user.following], Map.put(params, "type", "Create")) + params = params + |> Map.put("type", ["Create", "Announce"]) + + activities = ActivityPub.fetch_activities([user.ap_id | user.following], params) |> Enum.reverse conn @@ -87,7 +90,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do def public_timeline(%{assigns: %{user: user}} = conn, params) do params = params - |> Map.put("type", "Create") + |> Map.put("type", ["Create", "Announce"]) |> Map.put("local_only", !!params["local"]) activities = ActivityPub.fetch_public_activities(params) @@ -102,7 +105,7 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do def user_statuses(%{assigns: %{user: user}} = conn, params) do with %User{ap_id: ap_id} <- Repo.get(User, params["id"]) do params = params - |> Map.put("type", "Create") + |> Map.put("type", ["Create", "Announce"]) |> Map.put("actor_id", ap_id) activities = ActivityPub.fetch_activities([], params) @@ -312,6 +315,18 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do json(conn, res) end + def favourites(%{assigns: %{user: user}} = conn, params) do + params = conn + |> Map.put("type", "Create") + |> Map.put("favorited_by", user.ap_id) + + activities = ActivityPub.fetch_activities([], params) + |> Enum.reverse + + conn + |> render(StatusView, "index.json", %{activities: activities, for: user, as: :activity}) + end + def relationship_noop(%{assigns: %{user: user}} = conn, %{"id" => id}) do Logger.debug("Unimplemented, returning unmodified relationship") with %User{} = target <- Repo.get(User, id) do