X-Git-Url: http://git.squeep.com/?a=blobdiff_plain;f=lib%2Fpleroma%2Fweb%2Ftwitter_api%2Ftwitter_api_controller.ex;h=4a1622cc80b540601520f1b32350941e492f6d36;hb=1af9c777365f3b54edcb572cea4e2e6f185b3099;hp=bbfc04a6aa9657383de184ac948d737c8cff128a;hpb=6cf7c132282e612514af992c6dea0b03ee5b678d;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 bbfc04a6a..4a1622cc8 100644 --- a/lib/pleroma/web/twitter_api/twitter_api_controller.ex +++ b/lib/pleroma/web/twitter_api/twitter_api_controller.ex @@ -14,7 +14,8 @@ defmodule Pleroma.Web.TwitterAPI.Controller do end def status_update(%{assigns: %{user: user}} = conn, %{"status" => status_text} = status_data) do - if status_text |> String.trim |> String.length != 0 do + l = status_text |> String.trim |> String.length + if l > 0 && l < 5000 do media_ids = extract_media_ids(status_data) {:ok, activity} = TwitterAPI.create_status(user, Map.put(status_data, "media_ids", media_ids)) conn @@ -42,6 +43,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) @@ -198,6 +207,14 @@ defmodule Pleroma.Web.TwitterAPI.Controller do |> json_reply(200, response) end + def external_profile(%{assigns: %{user: current_user}} = conn, %{"profileurl" => uri}) do + with {:ok, user_map} <- TwitterAPI.get_external_profile(current_user, uri), + response <- Poison.encode!(user_map) do + conn + |> json_reply(200, response) + end + end + defp bad_request_reply(conn, error_message) do json = error_json(conn, error_message) json_reply(conn, 400, json)