aboutsummaryrefslogtreecommitdiff
path: root/lib/pleroma/web/twitter_api/twitter_api_controller.ex
diff options
context:
space:
mode:
authorRoger Braun <roger@rogerbraun.net>2017-03-30 17:07:03 +0200
committerRoger Braun <roger@rogerbraun.net>2017-03-30 17:07:22 +0200
commit73df2f8e5e2d0e2b125df8848c2dd7f2a73f1c03 (patch)
treec65c5d46dc71839a6d94e79e8ada42c4dda68165 /lib/pleroma/web/twitter_api/twitter_api_controller.ex
parent42c90855ba826a93cada909f105307c95dc0e130 (diff)
downloadpleroma-73df2f8e5e2d0e2b125df8848c2dd7f2a73f1c03.tar.gz
Add attachments to the TwAPI.
Diffstat (limited to 'lib/pleroma/web/twitter_api/twitter_api_controller.ex')
-rw-r--r--lib/pleroma/web/twitter_api/twitter_api_controller.ex13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/pleroma/web/twitter_api/twitter_api_controller.ex b/lib/pleroma/web/twitter_api/twitter_api_controller.ex
index a26885bf1..2154f34f7 100644
--- a/lib/pleroma/web/twitter_api/twitter_api_controller.ex
+++ b/lib/pleroma/web/twitter_api/twitter_api_controller.ex
@@ -11,11 +11,22 @@ defmodule Pleroma.Web.TwitterAPI.Controller do
end
def status_update(%{assigns: %{user: user}} = conn, status_data) do
- {:ok, activity} = TwitterAPI.create_status(user, status_data)
+ media_ids = extract_media_ids(status_data)
+ {:ok, activity} = TwitterAPI.create_status(user, %{ "status" => status_data["status"], "media_ids" => media_ids })
conn
|> json_reply(200, ActivityRepresenter.to_json(activity, %{user: user}))
end
+ defp extract_media_ids(status_data) do
+ with media_ids when not is_nil(media_ids) <- status_data["media_ids"],
+ split_ids <- String.split(media_ids, ","),
+ clean_ids <- Enum.reject(split_ids, fn (id) -> String.length(id) == 0 end)
+ do
+ clean_ids
+ else _e -> []
+ end
+ end
+
def public_timeline(%{assigns: %{user: user}} = conn, params) do
statuses = TwitterAPI.fetch_public_statuses(user, params)
{:ok, json} = Poison.encode(statuses)