Skip to content

feat(exports): implement ExportsService and persist job lifecycle - #977

Open
numdinkushi wants to merge 1 commit into
Pulsefy:mainfrom
numdinkushi:feat/BE-99-exports-service-job-lifecycle
Open

numdinkushi wants to merge 1 commit into
Pulsefy:mainfrom
numdinkushi:feat/BE-99-exports-service-job-lifecycle

Conversation

@numdinkushi

Copy link
Copy Markdown

Summary

  • Add ExportsService as the owner of export request validation, job enqueueing, and status lookup.
  • Persist export records through queuedrunningcompleted | failed with timestamps, and store a delivery reference when complete.
  • Wire the export generation handler to update that lifecycle, and document GET /exports/{jobId}.

Fixes #798

Test plan

  • POST /exports with a valid payload returns 201, a jobId, and status: queued
  • POST /exports with an invalid type, format, or delivery method returns 400
  • GET /exports/:jobId returns current status and timestamps; completed responses include deliveryReference
  • GET /exports/:jobId for an unknown id returns 404
  • Backend unit tests covering enqueue, transitions, and invalid requests pass
  • pnpm run lint and pnpm run build succeed in app/backend

@drips-wave

drips-wave Bot commented Aug 28, 2026

Copy link
Copy Markdown

@numdinkushi Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@Cedarich

Copy link
Copy Markdown
Contributor

@numdinkushi kindly fix CI

@Cedarich

Copy link
Copy Markdown
Contributor

@numdinkushi

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.

BE-99: Implement ExportsService and Wire Export Job Lifecycle

2 participants