TASK22269: normalize azurestorage hash query path builders

This commit is contained in:
2026-03-25 14:21:09 +00:00
parent 1b7e6009aa
commit fcce6a3978
2 changed files with 134 additions and 53 deletions
+37
View File
@@ -2905,3 +2905,40 @@ Validation:
Follow-ups:
- Remaining non-service candidate for this stream is `actions/azurestorage.js` direct `hashAPIPath` metadata assembly (separate bounded slice if desired).
---
### CL-081: TASK22269 Slice B1.6 — azurestorage hash-query metadata builder normalization
date: 2026-03-25
author: Cline
scope: `actions/azurestorage.js`
type: change
rationale: Continue requested follow-on slice by reducing repeated hash-query path string composition in azure storage metadata builders behind local helper functions.
impact: Lowers duplication/drift risk in hashed metadata path generation while preserving existing route and encoding behavior.
status: completed
Summary:
- Added internal helper builders in `actions/azurestorage.js`:
- `buildDownloadBlobQueryPath(...)`
- `buildDeleteBlobQueryPath(...)`
- `buildGetBlobListQueryPath(...)`
- Replaced repeated inline hash path literals with helper usage in targeted metadata object builders:
- `getBlobs`
- `getProgressBlobs`
- `getRepsFilesBlobs`
- Preserved existing behavior semantics for hash path construction:
- encoded `casefolderID`/`blobname` where previously encoded
- unchanged `containerName` and `casefolderID` value sourcing
- unchanged returned object field names and shape
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 potential cleanups in `actions/azurestorage.js` are broader non-slice refactors (legacy logging verbosity, large function decomposition) and should be handled separately to keep risk bounded.