code-corps/code-corps-api

View on GitHub
lib/code_corps_web/controllers/stripe_platform_events_controller.ex

Summary

Maintainability
Test Coverage
defmodule CodeCorpsWeb.StripePlatformEventsController do
  @moduledoc false
  use CodeCorpsWeb, :controller

  alias CodeCorps.StripeService.WebhookProcessing.{
    EnvironmentFilter, PlatformEventHandler, WebhookProcessor
  }

  def create(conn, event_params) do
    case EnvironmentFilter.environment_matches?(event_params) do
      true ->
        {:ok, _pid} = WebhookProcessor.process_async(event_params, PlatformEventHandler)
        conn |> send_resp(200, "")
      false ->
        conn |> send_resp(400, "")
    end
  end
end