diff options
author | Roger Braun <roger@rogerbraun.net> | 2017-03-30 17:07:03 +0200 |
---|---|---|
committer | Roger Braun <roger@rogerbraun.net> | 2017-03-30 17:07:22 +0200 |
commit | 73df2f8e5e2d0e2b125df8848c2dd7f2a73f1c03 (patch) | |
tree | c65c5d46dc71839a6d94e79e8ada42c4dda68165 /lib/pleroma/web/twitter_api/twitter_api_controller.ex | |
parent | 42c90855ba826a93cada909f105307c95dc0e130 (diff) | |
download | pleroma-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.ex | 13 |
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) |