add newsletter and email campaigns
Subscribers with double opt-in confirmation, campaign composer with draft/scheduled/sent lifecycle, admin dashboard with overview stats, CSV export, and shop signup form wired into page builder blocks. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
16
lib/berrypod_web/controllers/newsletter_export_controller.ex
Normal file
16
lib/berrypod_web/controllers/newsletter_export_controller.ex
Normal file
@@ -0,0 +1,16 @@
|
||||
defmodule BerrypodWeb.NewsletterExportController do
|
||||
use BerrypodWeb, :controller
|
||||
|
||||
alias Berrypod.Newsletter
|
||||
|
||||
def export(conn, _params) do
|
||||
csv = Newsletter.export_all_subscribers_csv()
|
||||
today = Date.to_iso8601(Date.utc_today())
|
||||
filename = "newsletter-subscribers-#{today}.csv"
|
||||
|
||||
conn
|
||||
|> put_resp_content_type("text/csv")
|
||||
|> put_resp_header("content-disposition", ~s(attachment; filename="#{filename}"))
|
||||
|> send_resp(200, csv)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user