TASK22269: normalize document hash-suffix route composition
This commit is contained in:
@@ -2871,3 +2871,37 @@ Validation:
|
||||
Follow-ups:
|
||||
|
||||
- Remaining special-case signed pattern is now primarily the signed-suffix append composition in `sendCaseCompleteMessage` (already using shared `buildSignedUrl`), with broader module migrations to be planned in future bounded slices.
|
||||
|
||||
---
|
||||
|
||||
### CL-080: TASK22269 Slice B1.5 — document hash-suffix route normalization helper
|
||||
|
||||
date: 2026-03-25
|
||||
author: Cline
|
||||
scope: `actions/clients/fileRouteBuilder.js`, `actions/services/documentDirectService.js`, `tests/{serviceHarness,phase22/client-utils-behaviour}.cjs`
|
||||
type: change
|
||||
rationale: Continue grouped follow-on candidates by normalizing repeated deterministic hash-suffix route assembly in document service behind one shared route-builder helper.
|
||||
impact: Reduces repeated `appendQuerySuffix(route, hashAPIPath(route))` composition drift risk while preserving route/query/hash behavior.
|
||||
status: completed
|
||||
|
||||
Summary:
|
||||
|
||||
- Added `appendHashSuffix(route, hashBuilder)` to `fileRouteBuilder`.
|
||||
- Migrated document service deterministic hash-suffix paths to new helper:
|
||||
- `getAwaitingSubmissionFromBlob`
|
||||
- `getRepsFromBlob`
|
||||
- `getFilesFromBlob`
|
||||
- `getProgressFromBlob`
|
||||
- `createContainerProxy`
|
||||
- Updated shared VM harness defaults (`tests/serviceHarness.cjs`) to inject `appendHashSuffix`.
|
||||
- Expanded phase22 utility test to cover new helper behavior (`tests/phase22/client-utils-behaviour.test.cjs`).
|
||||
|
||||
Validation:
|
||||
|
||||
- `npm run lint` -> pass with warnings only (pre-existing `react-hooks/exhaustive-deps`; no new lint errors)
|
||||
- `node tests/phase22/index.test.cjs` -> pass
|
||||
- `node tests/phase7/service-behaviour.test.cjs` -> pass (13/13)
|
||||
|
||||
Follow-ups:
|
||||
|
||||
- Remaining non-service candidate for this stream is `actions/azurestorage.js` direct `hashAPIPath` metadata assembly (separate bounded slice if desired).
|
||||
|
||||
Reference in New Issue
Block a user