Export what a legal hold keeps, from the Legal holds page #31

Merged
jcoffey-dev merged 1 commits from feature/hold-export into main 2026-09-28 04:48:10 +00:00
Owner

Export… on each active hold (for people with sysLegalHoldExport): optional people, required reason. The hold's card lists its exports, polls while one is collecting, and shows items, size and SHA-256 with a Download button once ready. Download uses the session's downloadUrl for the signed-in person's own account, like the audit log export.

Needs the server's inbuxa:HoldExport (inbuxa-server feature/hold-export); on an older server the list stays empty and the holds still show.

Tested: unit tests for the client, typecheck, lint; end to end in headless Chrome against a local server: 173 items, a 178,798-byte ZIP whose SHA-256 matched the one shown.

Export… on each active hold (for people with `sysLegalHoldExport`): optional people, required reason. The hold's card lists its exports, polls while one is collecting, and shows items, size and SHA-256 with a Download button once ready. Download uses the session's downloadUrl for the signed-in person's own account, like the audit log export. Needs the server's `inbuxa:HoldExport` (inbuxa-server `feature/hold-export`); on an older server the list stays empty and the holds still show. Tested: unit tests for the client, typecheck, lint; end to end in headless Chrome against a local server: 173 items, a 178,798-byte ZIP whose SHA-256 matched the one shown.
jcoffey-dev added 1 commit 2026-09-28 04:46:23 +00:00
Export what a legal hold keeps, from the Legal holds page
ci / build (pull_request) Successful in 1m18s
ci / publish (pull_request) Skipped
67acffbe4f
Each active hold gets an Export... action for people with
sysLegalHoldExport: pick some of the people it covers, or none for all
of them, and give a reason for the audit log. The server collects the
ZIP in the background (inbuxa:HoldExport, LH-12); the hold's card lists
its exports, newest first, polls while one is collecting, and shows the
item count, size and SHA-256 once it's ready.

Download follows the audit log export: the session's downloadUrl, for
the signed-in person's own account, since the file is the blob of
whoever started it. It's a temporary upload, so the list says only
that person can download it and that the file goes after the upload
time-to-live while the record stays.

Tested: unit tests for the client (status mapping, the create call,
refusals, file names); typecheck and lint; and end to end in headless
Chrome against a local server on the export branch: a hold over a demo
domain exported 173 items, and the downloaded file was a 178,798-byte
ZIP whose SHA-256 matched the one shown.
jcoffey-dev merged commit ad45c1e641 into main 2026-09-28 04:48:10 +00:00
jcoffey-dev deleted branch feature/hold-export 2026-09-28 04:48:11 +00:00
Sign in to join this conversation.