Skip to content

Add Forms reporting and the dev lets-talk form definition - #2

Merged
jmgasper merged 1 commit into
developfrom
feat/lets-talk-reporting
Sep 27, 2026
Merged

jmgasper merged 1 commit into
developfrom
feat/lets-talk-reporting

Conversation

@jmgasper

@jmgasper jmgasper commented Sep 27, 2026 •

Copy link
Copy Markdown
Contributor

The Reports portal can now discover forms, read submissions across published and retired revisions, filter by inclusive UTC dates, and download all matching rows as CSV. Reporting remains restricted to the existing reporting roles/scopes; the directory does not grant editing access.

  • Add a paginated reporting directory and all-revision submission endpoint with dynamic columns, totals, and validated cursors.
  • Stream full CSV exports in 1,000-row batches with one header and existing spreadsheet formula protection. Existing per-version endpoints also accept date filters.
  • Add the reviewed lets_talk definition, development-only publication script, and renderer support for Kafka opt-in and hidden attribution answers.
  • Document deployment order and extend the dev CORS defaults for Reports and Platform UI. Existing stacks need an explicit CORS parameter update.

Validation: pnpm lint, pnpm build, pnpm typecheck, 36 unit/renderer tests, and 24 integration tests against disposable PostgreSQL. Coverage includes the actual contact definition/Kafka retry path, authorization, revision unions, date boundaries, cursor rejection, and a 1,002-row CSV export.

Rollout: deploy API and existing SubmissionEvent migration, configure Bus API credentials/CORS, publish the dev definition using FORMS_ADMIN_TOKEN, then deploy the companion website and portal changes. No live deployment or form publication was performed. CSV uses an export-start timestamp bound, not a repeatable-read database snapshot. Historical HubSpot submissions are not imported.

Companion PRs: Reports UI and development website.

@jmgasper
jmgasper merged commit e6d0f51 into develop Sep 27, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant