Current section
Files
Jump to
Current section
Files
lib/phoenix_kit/modules/emails/web/routes.ex
defmodule PhoenixKit.Modules.Emails.Web.Routes do
@moduledoc """
Public route definitions for Emails module.
Admin LiveView routes are auto-generated from live_view: fields in admin_tabs/0.
"""
def generate(url_prefix) do
webhook_controller = PhoenixKit.Modules.Emails.Web.WebhookController
export_controller = PhoenixKit.Modules.Emails.Web.ExportController
quote do
# Webhook is public — AWS SNS sends POST requests without auth
scope unquote(url_prefix) do
pipe_through([:browser])
post("/webhooks/ses", unquote(webhook_controller), :handle)
end
# Export requires admin authentication
scope unquote(url_prefix) do
pipe_through([:browser, :phoenix_kit_admin_only])
get("/emails/export/:format", unquote(export_controller), :export)
end
end
end
end