[Feature] Resume persisted address import runs in the WebUI #22

Closed
opened 2026-08-03 01:53:51 +02:00 by zemion · 1 comment
Owner

Objective

Allow an administrator to reopen a persisted CSV/XLSX import run by id after navigation, reload, or handoff instead of retaining the run only in component state.

Acceptance criteria

  • The Addresses WebUI can load GET /api/v1/addresses/imports/{run_id} and restore preview, validation, statistics, and lifecycle state.
  • Apply and rollback actions use the persisted run revision/hash and preserve existing authorization and audit behavior.
  • Missing, expired, already-applied, and already-rolled-back runs have explicit states.
  • Deep links do not expose source payloads or cross tenant boundaries.
  • User/admin documentation and focused reload/navigation tests are included.

Discovered by the enforced platform endpoint-surface inventory.

## Objective Allow an administrator to reopen a persisted CSV/XLSX import run by id after navigation, reload, or handoff instead of retaining the run only in component state. ## Acceptance criteria - The Addresses WebUI can load `GET /api/v1/addresses/imports/{run_id}` and restore preview, validation, statistics, and lifecycle state. - Apply and rollback actions use the persisted run revision/hash and preserve existing authorization and audit behavior. - Missing, expired, already-applied, and already-rolled-back runs have explicit states. - Deep links do not expose source payloads or cross tenant boundaries. - User/admin documentation and focused reload/navigation tests are included. Discovered by the enforced platform endpoint-surface inventory.
Author
Owner

Implemented and pushed in ec32ad2.

The Addresses WebUI now supports /address-book?import_run=<id> deep links and restores the persisted run, its address book and mapping profile, statistics, diagnostics, effects, hashes, and lifecycle state after navigation or reload. Previewed, applied, rolled-back, expired, and unavailable states are explicit. Apply and rollback both submit the reviewed plan hash; rollback also retains the existing post-apply contact-evidence guard. Missing, expired, hidden, and cross-tenant runs share a non-enumerating unavailable presentation, and the API projection omits upload content, plan internals, and private before-images.

Verification:

  • Addresses suite: 51 tests passed
  • executable import-run navigation/lifecycle tests passed
  • Address UI structure test passed
  • production WebUI build and bundle budget passed
  • Ruff passed
  • manifest registry: 68/68 passed
Implemented and pushed in `ec32ad2`. The Addresses WebUI now supports `/address-book?import_run=<id>` deep links and restores the persisted run, its address book and mapping profile, statistics, diagnostics, effects, hashes, and lifecycle state after navigation or reload. Previewed, applied, rolled-back, expired, and unavailable states are explicit. Apply and rollback both submit the reviewed plan hash; rollback also retains the existing post-apply contact-evidence guard. Missing, expired, hidden, and cross-tenant runs share a non-enumerating unavailable presentation, and the API projection omits upload content, plan internals, and private before-images. Verification: - Addresses suite: 51 tests passed - executable import-run navigation/lifecycle tests passed - Address UI structure test passed - production WebUI build and bundle budget passed - Ruff passed - manifest registry: 68/68 passed
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-addresses#22