X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Ftwitter_api%2Ftwitter_api_controller.ex;h=c16c76951f7fec095edddfe4a1c40237f1a969d0;hb=cd522d2139d999adf36705250084662e56a70d0d;hp=c3ab5ae8c10b46fbb0ce156bb871e239fe3c5f7a;hpb=1e6491ec96c3eb4e7ce1ca76b521b892206fac03;p=akkoma diff --git a/lib/pleroma/web/twitter_api/twitter_api_controller.ex b/lib/pleroma/web/twitter_api/twitter_api_controller.ex index c3ab5ae8c..c16c76951 100644 --- a/lib/pleroma/web/twitter_api/twitter_api_controller.ex +++ b/lib/pleroma/web/twitter_api/twitter_api_controller.ex @@ -2,7 +2,7 @@ defmodule Pleroma.Web.TwitterAPI.Controller do use Pleroma.Web, :controller alias Pleroma.Web.TwitterAPI.{TwitterAPI, UserView} alias Pleroma.Web.TwitterAPI.Representers.ActivityRepresenter - alias Pleroma.{Web, Repo, Activity} + alias Pleroma.{Repo, Activity} alias Pleroma.Web.ActivityPub.ActivityPub alias Ecto.Changeset @@ -122,32 +122,18 @@ defmodule Pleroma.Web.TwitterAPI.Controller do |> send_resp(200, response) end - def help_test(conn, _params) do - conn |> json_reply(200, Poison.encode!("ok")) - end - def upload_json(conn, %{"media" => media}) do response = TwitterAPI.upload(media, "json") conn |> json_reply(200, response) end - def config(conn, _params) do - response = %{ - site: %{ - name: Web.base_url, - server: Web.base_url, - textlimit: -1 - } - } - |> Poison.encode! - - conn - |> json_reply(200, response) + def get_by_id_or_ap_id(id) do + Repo.get(Activity, id) || Activity.get_create_activity_by_object_ap_id(id) end def favorite(%{assigns: %{user: user}} = conn, %{"id" => id}) do - activity = Repo.get(Activity, id) + activity = get_by_id_or_ap_id(id) {:ok, status} = TwitterAPI.favorite(user, activity) response = Poison.encode!(status) @@ -156,7 +142,7 @@ defmodule Pleroma.Web.TwitterAPI.Controller do end def unfavorite(%{assigns: %{user: user}} = conn, %{"id" => id}) do - activity = Repo.get(Activity, id) + activity = get_by_id_or_ap_id(id) {:ok, status} = TwitterAPI.unfavorite(user, activity) response = Poison.encode!(status) @@ -165,7 +151,7 @@ defmodule Pleroma.Web.TwitterAPI.Controller do end def retweet(%{assigns: %{user: user}} = conn, %{"id" => id}) do - activity = Repo.get(Activity, id) + activity = get_by_id_or_ap_id(id) if activity.data["actor"] == user.ap_id do bad_request_reply(conn, "You cannot repeat your own notice.") else