28 lines
1.5 KiB
Markdown
28 lines
1.5 KiB
Markdown
# Allow private table-file byte transports
|
|
|
|
CMS WO-TF-009 adds administrator file management through generated ConnectRPC
|
|
hooks. Binary upload, content download and bounded preview streams use the
|
|
private HTTP serving boundary because unary metadata hooks cannot express
|
|
resumable chunks, download bodies or preview derivatives.
|
|
|
|
Allow exactly three literal fetch targets in `lib/table-file-transport.ts`:
|
|
`/api/table-file-uploads/${sessionId}`,
|
|
`/api/table-files/${attachmentId}/content?version=${versionId}` and
|
|
`/api/table-files/${attachmentId}/preview?version=${versionId}`. Preserve ADR 0002's
|
|
file-and-target matching. Admission, status, cancellation, finalization and
|
|
lifecycle controls remain generated RPC calls.
|
|
|
|
An entire-file exception or route-prefix allowance was rejected because either
|
|
would permit unrelated future controls to bypass generated hooks. Ordinary
|
|
media routes were rejected because table files have separate authority.
|
|
|
|
Consequences:
|
|
|
|
- `frontend.go` documents each exact target's binary transport reason.
|
|
- Moving the bridge or changing a target requires another reviewed allowance.
|
|
- Existing narrow-allowance tests cover sibling routes and other callers; the
|
|
complete checker test suite passes.
|
|
- These allowances change no runtime authority or admission gate.
|
|
|
|
Keywords: WO-TF-009, table files, allowedNonProtoFetches, frontend.go, frontend_test.go, lib/table-file-transport.ts, /api/table-file-uploads, /api/table-files, content, preview, versionId, ConnectRPC, resumable chunks
|