Skip to content

CSV import: live progress, cancel, error CSV, audit, and rollback #434

Description

@mortondev

Follow-up from #311. The original problem (import processed inside the HTTP request) is fixed: mode=commit returns 202 { runId } and mode=dry_run is a sync preview.

Still missing vs the original AC:

  • Live imported/skipped/error counts while a run is in progress (totals are written at completion only)
  • Cancel: cancelled status + POST /api/import/runs/{id}/cancel with a cooperative check between batches
  • Failed rows as a CSV (original row + message), not a JSON download capped at 100
  • import.completed / import.failed audit events
  • Rollback only if we store per-run created IDs — the shared daily batch tag is not a safe undo key

Do not retry the whole commit job (import-queue.ts documents that as unsafe). Re-import via source_id instead of resume.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions