Skip to content

Feat/campaign export serializer 273#1057

Merged
kryputh merged 9 commits into
Stellar-Mail:mainfrom
eleven-smg:feat/campaign-export-serializer-273
Jun 19, 2026
Merged

Feat/campaign export serializer 273#1057
kryputh merged 9 commits into
Stellar-Mail:mainfrom
eleven-smg:feat/campaign-export-serializer-273

Conversation

@eleven-smg

Copy link
Copy Markdown
Contributor

Closes #273

Adds a campaign snapshot export serializer to the demo admin dashboard so a campaign (its metadata plus draft messages) can be exported as stable, versioned JSON that is easy to review and re-import.

Included

  • types/campaignExport.ts — CampaignSnapshotExport envelope and CAMPAIGN_EXPORT_SCHEMA_VERSION.
  • helpers/campaignExport.ts — buildCampaignExport, serializeCampaignSnapshot, buildCampaignExportFilename.
  • tests/campaignExport.test.ts — unit tests for stable ordering, tag de-duplication, version metadata, determinism, and the filename.
  • docs/CAMPAIGN_JSON_EXPORT.md — short schema and usage notes.
  • index.ts — re-exports the new helpers and types from the feature barrel.

Behavior

  • Drafts are sorted by id and reduced to known fields only.
  • Tags are de-duplicated and sorted.
  • Version metadata is included; the payload has no timestamps, so output is deterministic (the export date lives in the filename).

Scope

  • All changes live under src/features/demo-admin-dashboard/. No files outside the folder are touched, the data stays fake and demo-only, and nothing is wired into production mail flows.

@kryputh kryputh merged commit b8c9c29 into Stellar-Mail:main Jun 19, 2026
5 checks passed
@grantfox-oss grantfox-oss Bot mentioned this pull request Jun 19, 2026
5 tasks
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.

Build campaign export serializer

2 participants