diff options
| author | lain <lain@soykaf.club> | 2018-06-03 19:28:11 +0200 | 
|---|---|---|
| committer | lain <lain@soykaf.club> | 2018-06-03 19:28:11 +0200 | 
| commit | 4856ba596f5682a48a5cd17cacb607d996764f7a (patch) | |
| tree | 98fbe49e8598c378063279a3f1c7323992a223b9 /lib | |
| parent | 0f70e83e8c745645703be8084001b1ef92c03823 (diff) | |
| download | pleroma-4856ba596f5682a48a5cd17cacb607d996764f7a.tar.gz pleroma-4856ba596f5682a48a5cd17cacb607d996764f7a.zip | |
Better error handling for MastodonApiController.
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/pleroma/web/mastodon_api/mastodon_api_controller.ex | 16 | 
1 files changed, 12 insertions, 4 deletions
| diff --git a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex index 5fb51e8fa..9d4e3d806 100644 --- a/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex +++ b/lib/pleroma/web/mastodon_api/mastodon_api_controller.ex @@ -10,6 +10,8 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do    import Ecto.Query    require Logger +  action_fallback(:errors) +    def create_app(conn, params) do      with cs <- App.register_changeset(%App{}, params) |> IO.inspect(),           {:ok, app} <- Repo.insert(cs) |> IO.inspect() do @@ -327,27 +329,27 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do    end    def reblog_status(%{assigns: %{user: user}} = conn, %{"id" => ap_id_or_id}) do -    with {:ok, announce, _activity} = CommonAPI.repeat(ap_id_or_id, user) do +    with {:ok, announce, _activity} <- CommonAPI.repeat(ap_id_or_id, user) do        render(conn, StatusView, "status.json", %{activity: announce, for: user, as: :activity})      end    end    def unreblog_status(%{assigns: %{user: user}} = conn, %{"id" => ap_id_or_id}) do -    with {:ok, _, _, %{data: %{"id" => id}}} = CommonAPI.unrepeat(ap_id_or_id, user), +    with {:ok, _, _, %{data: %{"id" => id}}} <- CommonAPI.unrepeat(ap_id_or_id, user),           %Activity{} = activity <- Activity.get_create_activity_by_object_ap_id(id) do        render(conn, StatusView, "status.json", %{activity: activity, for: user, as: :activity})      end    end    def fav_status(%{assigns: %{user: user}} = conn, %{"id" => ap_id_or_id}) do -    with {:ok, _fav, %{data: %{"id" => id}}} = CommonAPI.favorite(ap_id_or_id, user), +    with {:ok, _fav, %{data: %{"id" => id}}} <- CommonAPI.favorite(ap_id_or_id, user),           %Activity{} = activity <- Activity.get_create_activity_by_object_ap_id(id) do        render(conn, StatusView, "status.json", %{activity: activity, for: user, as: :activity})      end    end    def unfav_status(%{assigns: %{user: user}} = conn, %{"id" => ap_id_or_id}) do -    with {:ok, _, _, %{data: %{"id" => id}}} = CommonAPI.unfavorite(ap_id_or_id, user), +    with {:ok, _, _, %{data: %{"id" => id}}} <- CommonAPI.unfavorite(ap_id_or_id, user),           %Activity{} = activity <- Activity.get_create_activity_by_object_ap_id(id) do        render(conn, StatusView, "status.json", %{activity: activity, for: user, as: :activity})      end @@ -919,4 +921,10 @@ defmodule Pleroma.Web.MastodonAPI.MastodonAPIController do          nil      end    end + +  def errors(conn, _) do +    conn +    |> put_status(500) +    |> json("Something went wrong") +  end  end | 
