diff --git a/services/app/lib/hexlet_basics_web/controllers/api/webhooks/sparkpost_controller.ex b/services/app/lib/hexlet_basics_web/controllers/api/webhooks/sparkpost_controller.ex new file mode 100644 index 0000000..6c1c32c --- /dev/null +++ b/services/app/lib/hexlet_basics_web/controllers/api/webhooks/sparkpost_controller.ex @@ -0,0 +1,8 @@ +defmodule HexletBasicsWeb.Api.Webhooks.SparkpostController do + use HexletBasicsWeb, :controller + + def process(conn, _params) do + conn + |> send_resp(200, "") + end +end diff --git a/services/app/lib/hexlet_basics_web/router.ex b/services/app/lib/hexlet_basics_web/router.ex index 7247500..8233040 100644 --- a/services/app/lib/hexlet_basics_web/router.ex +++ b/services/app/lib/hexlet_basics_web/router.ex @@ -59,6 +59,11 @@ defmodule HexletBasicsWeb.Router do plug(HexletBasicsWeb.Plugs.ApiRequireAuth) end + pipeline :api_for_webhooks do + plug(:accepts, ["json"]) + plug(:fetch_session) + end + scope "/auth", HexletBasicsWeb do pipe_through(:browser) @@ -74,6 +79,12 @@ defmodule HexletBasicsWeb.Router do end end + scope "/api/webhooks", HexletBasicsWeb do + pipe_through(:api_for_webhooks) + + post("sparkpost/process", Api.Webhooks.SparkpostController, :process) + end + scope "/", HexletBasicsWeb do # Use the default browser stack pipe_through(:browser)