|> json_reply(200, response)
end
- def status_update(conn, %{"status" => ""} = _status_data) do
- empty_status_reply(conn)
- end
-
def status_update(%{assigns: %{user: user}} = conn, %{"status" => status_text} = status_data) do
if status_text |> String.trim |> String.length != 0 do
media_ids = extract_media_ids(status_data)
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)
|> json_reply(200, json)
end
- def follow(%{assigns: %{user: user}} = conn, %{ "user_id" => followed_id }) do
- case TwitterAPI.follow(user, followed_id) do
+ def follow(%{assigns: %{user: user}} = conn, params) do
+ case TwitterAPI.follow(user, params) do
{ :ok, user, followed, _activity } ->
response = followed |> UserRepresenter.to_json(%{for: user})
conn
end
end
- def unfollow(%{assigns: %{user: user}} = conn, %{ "user_id" => followed_id }) do
- case TwitterAPI.unfollow(user, followed_id) do
- { :ok, user, followed } ->
- response = followed |> UserRepresenter.to_json(%{for: user})
-
+ def unfollow(%{assigns: %{user: user}} = conn, params) do
+ case TwitterAPI.unfollow(user, params) do
+ { :ok, user, unfollowed, } ->
+ response = unfollowed |> UserRepresenter.to_json(%{for: user})
conn
|> json_reply(200, response)
{ :error, msg } -> forbidden_json_reply(conn, msg)
def retweet(%{assigns: %{user: user}} = conn, %{"id" => id}) do
activity = Repo.get(Activity, id)
- {:ok, status} = TwitterAPI.retweet(user, activity)
- response = Poison.encode!(status)
+ if activity.data["actor"] == user.ap_id do
+ bad_request_reply(conn, "You cannot repeat your own notice.")
+ else
+ {:ok, status} = TwitterAPI.retweet(user, activity)
+ response = Poison.encode!(status)
- conn
- |> json_reply(200, response)
+ conn
+
+ |> json_reply(200, response)
+ end
end
def register(conn, params) do