Packages

phoenix_kit

1.7.39
1.7.210 1.7.209 1.7.208 1.7.207 1.7.206 1.7.205 1.7.204 1.7.203 1.7.202 1.7.201 1.7.200 1.7.199 1.7.198 1.7.197 1.7.196 1.7.194 1.7.193 1.7.192 1.7.191 1.7.190 1.7.189 1.7.187 1.7.186 1.7.185 1.7.184 1.7.183 1.7.182 1.7.181 1.7.180 1.7.179 1.7.178 1.7.177 1.7.176 1.7.175 1.7.174 1.7.173 1.7.172 1.7.171 1.7.170 1.7.169 1.7.168 1.7.167 1.7.166 1.7.165 1.7.164 1.7.162 1.7.161 1.7.160 1.7.159 1.7.157 1.7.156 1.7.155 1.7.154 1.7.153 1.7.152 1.7.151 1.7.150 1.7.149 1.7.146 1.7.145 1.7.144 1.7.143 1.7.138 1.7.133 1.7.132 1.7.131 1.7.130 1.7.128 1.7.126 1.7.125 1.7.121 1.7.120 1.7.119 1.7.118 1.7.117 1.7.116 1.7.115 1.7.114 1.7.113 1.7.112 1.7.111 1.7.110 1.7.109 1.7.108 1.7.107 1.7.106 1.7.105 1.7.104 1.7.103 1.7.102 1.7.101 1.7.100 1.7.99 1.7.98 1.7.97 1.7.96 1.7.95 1.7.94 1.7.93 1.7.92 1.7.91 1.7.90 1.7.89 1.7.88 1.7.87 1.7.86 1.7.85 1.7.84 1.7.83 1.7.82 1.7.81 1.7.80 1.7.79 1.7.78 1.7.77 1.7.76 1.7.75 1.7.74 1.7.71 1.7.70 1.7.69 1.7.66 1.7.65 1.7.64 1.7.63 1.7.62 1.7.61 1.7.59 1.7.58 1.7.57 1.7.56 1.7.55 1.7.54 1.7.53 1.7.52 1.7.51 1.7.49 1.7.44 1.7.43 1.7.42 1.7.41 1.7.39 1.7.38 1.7.37 1.7.36 1.7.34 1.7.33 1.7.31 1.7.30 1.7.29 1.7.28 1.7.27 1.7.26 1.7.25 1.7.24 1.7.23 1.7.22 1.7.21 1.7.20 1.7.19 1.7.18 1.7.17 1.7.16 1.7.15 1.7.14 1.7.13 1.7.12 1.7.11 1.7.10 1.7.9 1.7.8 1.7.7 1.7.6 1.7.5 1.7.4 1.7.3 1.7.2 1.7.1 1.7.0 1.6.20 1.6.19 1.6.18 1.6.17 1.6.16 1.6.15 1.6.14 1.6.13 1.6.12 1.6.11 1.6.10 1.6.9 1.6.8 1.6.7 1.6.6 1.6.5 1.6.4 1.6.3 1.5.2 1.5.1 1.5.0 1.4.9 1.4.8 1.4.7 1.4.6 1.4.5 1.4.4 1.4.3 1.4.2 1.4.1 1.4.0 1.3.2 1.3.1 1.3.0 1.2.10 1.2.9 1.2.8 1.2.7 1.2.5 1.2.4 1.2.2 1.2.1 1.2.0 1.1.0 1.0.0

A foundation for building Elixir Phoenix apps — SaaS, social networks, ERP systems, marketplaces, and more

Current section

Files

Jump to
phoenix_kit lib phoenix_kit_web routes emails.ex
Raw

lib/phoenix_kit_web/routes/emails.ex

defmodule PhoenixKitWeb.Routes.EmailsRoutes do
@moduledoc """
Email module routes.
Provides route definitions for email webhooks, exports, and admin interfaces.
Separated to improve compilation time.
"""
@doc """
Returns quoted code for email non-LiveView routes (webhooks, exports).
"""
def generate(url_prefix) do
quote do
# Email webhook endpoint (public - no authentication required)
scope unquote(url_prefix) do
pipe_through [:browser]
post "/webhooks/email", PhoenixKit.Modules.Emails.Web.WebhookController, :handle
end
# Email export routes (require admin or owner role)
scope unquote(url_prefix) do
pipe_through [:browser, :phoenix_kit_auto_setup, :phoenix_kit_admin_only]
get "/admin/emails/export", PhoenixKit.Modules.Emails.Web.ExportController, :export_logs
get "/admin/emails/metrics/export",
PhoenixKit.Modules.Emails.Web.ExportController,
:export_metrics
get "/admin/emails/blocklist/export",
PhoenixKit.Modules.Emails.Web.ExportController,
:export_blocklist
get "/admin/emails/:id/export",
PhoenixKit.Modules.Emails.Web.ExportController,
:export_email_details
end
end
end
@doc """
Returns quoted admin LiveView route declarations for inclusion in the shared admin live_session.
"""
def admin_routes do
quote do
live "/admin/settings/emails", PhoenixKit.Modules.Emails.Web.Settings, :index,
as: :emails_settings
live "/admin/emails/dashboard", PhoenixKit.Modules.Emails.Web.Metrics, :index,
as: :emails_metrics
live "/admin/emails", PhoenixKit.Modules.Emails.Web.Emails, :index, as: :emails_index
live "/admin/emails/email/:id", PhoenixKit.Modules.Emails.Web.Details, :show,
as: :emails_details
live "/admin/emails/queue", PhoenixKit.Modules.Emails.Web.Queue, :index, as: :emails_queue
live "/admin/emails/blocklist", PhoenixKit.Modules.Emails.Web.Blocklist, :index,
as: :emails_blocklist
live "/admin/emails/templates", PhoenixKit.Modules.Emails.Web.Templates, :index,
as: :emails_templates
live "/admin/emails/templates/new",
PhoenixKit.Modules.Emails.Web.TemplateEditor,
:new,
as: :emails_template_new
live "/admin/emails/templates/:id/edit",
PhoenixKit.Modules.Emails.Web.TemplateEditor,
:edit,
as: :emails_template_edit
end
end
end