- def status_update(%{assigns: %{user: user}} = conn, status_data) do
- media_ids = extract_media_ids(status_data)
- {:ok, activity} = TwitterAPI.create_status(user, Map.put(status_data, "media_ids", media_ids ))
- conn
- |> json_reply(200, ActivityRepresenter.to_json(activity, %{user: user}))
+ def status_update(%{assigns: %{user: user}} = conn, %{"status" => status_text} = status_data) 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
+ |> json_reply(200, ActivityRepresenter.to_json(activity, %{user: user}))
+ else
+ empty_status_reply(conn)
+ end
+ end
+
+ def status_update(conn, _status_data) do
+ empty_status_reply(conn)
+ end
+
+ defp empty_status_reply(conn) do
+ bad_request_reply(conn, "Client must provide a 'status' parameter with a value.")