berrypod/lib/berrypod_web/controllers/newsletter_export_controller.ex
jamey ad2e6d1e6d 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>
2026-02-28 23:25:28 +00:00

17 lines
467 B
Elixir

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