- { :ok, user, followed, _activity } ->
- response = followed |> UserRepresenter.to_json(%{for: user})
- conn
- |> json_reply(200, response)
- { :error, msg } -> forbidden_json_reply(conn, msg)
+ {:ok, user, followed, _activity} ->
+ render(conn, UserView, "show.json", %{user: followed, for: user})
+
+ {:error, msg} ->
+ forbidden_json_reply(conn, msg)
+ end
+ end
+
+ def block(%{assigns: %{user: user}} = conn, params) do
+ case TwitterAPI.block(user, params) do
+ {:ok, user, blocked} ->
+ render(conn, UserView, "show.json", %{user: blocked, for: user})
+
+ {:error, msg} ->
+ forbidden_json_reply(conn, msg)
+ end
+ end
+
+ def unblock(%{assigns: %{user: user}} = conn, params) do
+ case TwitterAPI.unblock(user, params) do
+ {:ok, user, blocked} ->
+ render(conn, UserView, "show.json", %{user: blocked, for: user})
+
+ {:error, msg} ->
+ forbidden_json_reply(conn, msg)
+ end
+ end
+
+ def delete_post(%{assigns: %{user: user}} = conn, %{"id" => id}) do
+ with {:ok, activity} <- TwitterAPI.delete(user, id) do
+ render(conn, ActivityView, "activity.json", %{activity: activity, for: user})