Skip to content

Commit

Permalink
Fix bug introduced into StripeConnectAccountController that does not …
Browse files Browse the repository at this point in the history
…update on Stripe
  • Loading branch information
joshsmith committed Oct 3, 2017
1 parent f531647 commit 7ff88c5
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 3 deletions.
8 changes: 8 additions & 0 deletions lib/code_corps_web/controllers/fallback_controller.ex
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ defmodule CodeCorpsWeb.FallbackController do

alias Ecto.Changeset

require Logger

@type supported_fallbacks :: {:error, Changeset.t} |
{:error, :not_authorized} |
{:error, :github} |
Expand Down Expand Up @@ -33,4 +35,10 @@ defmodule CodeCorpsWeb.FallbackController do
|> put_status(500)
|> render(CodeCorpsWeb.ErrorView, "500.json", message: "An unknown error occurred with GitHub's API.")
end
def call(%Conn{} = conn, {:error, %Stripe.APIErrorResponse{message: message}}) do
Logger.info message
conn
|> put_status(500)
|> render(CodeCorpsWeb.ErrorView, "500.json", message: "An unknown error occurred with Stripe's API.")
end
end
Original file line number Diff line number Diff line change
Expand Up @@ -27,9 +27,9 @@ defmodule CodeCorpsWeb.StripeConnectAccountController do
def create(%Conn{} = conn, params) do
params =
params
|> Map.put("managed", true)
|> Map.put("tos_acceptance_ip", conn |> ConnUtils.extract_ip)
|> Map.put("tos_acceptance_user_agent", conn |> ConnUtils.extract_user_agent)
|> Map.put("managed", true)
with %User{} = current_user <- conn |> Guardian.Plug.current_resource,
{:ok, :authorized} <- current_user |> Policy.authorize(:create, %StripeConnectAccount{}, params),
{:ok, %StripeConnectAccount{} = account} <- StripeConnectAccountService.create(params) do
Expand All @@ -42,8 +42,8 @@ defmodule CodeCorpsWeb.StripeConnectAccountController do
with %StripeConnectAccount{} = account <- StripeConnectAccount |> Repo.get(id),
%User{} = current_user <- conn |> Guardian.Plug.current_resource,
{:ok, :authorized} <- current_user |> Policy.authorize(:update, account, params),
{:ok, %StripeConnectAccount{} = account} <- account |> StripeConnectAccount.webhook_update_changeset(params) |> Repo.update do
conn |> render("show.json-api", data: account)
{:ok, %StripeConnectAccount{} = updated_account} <- account |> StripeConnectAccountService.update(params) do
conn |> render("show.json-api", data: updated_account)
end
end
end

0 comments on commit 7ff88c5

Please sign in to comment.