mirror of https://github.com/vernonkeenan/lib
44 lines
1.9 KiB
Markdown
44 lines
1.9 KiB
Markdown
# Stash PDF metadata client
|
|
|
|
This slice generates a read-only Stash client for the response contract in
|
|
`vernonkeenan/stash` draft PR #16 at provider commit
|
|
`b2f5b4a6ae5ff507dfdc86bb7b9ee5a9bb924131`.
|
|
|
|
The generated surface contains only:
|
|
|
|
- `GET /v1/pdfs`, with bounded `limit` and `offset`;
|
|
- `GET /v1/pdfs/{pdfId}`; and
|
|
- response metadata fields `ID`, `Filename`, `Title`, and `URI`.
|
|
|
|
The provider spec retains a deprecated `POST /v1/pdfs` compatibility route
|
|
that always fails closed. Lib deliberately does not generate that operation.
|
|
It also narrows the provider's legacy `Document` definition to the four fields
|
|
the PR #16 handlers populate, so document bytes, render inputs, tenant IDs, and
|
|
legacy ownership fields cannot enter the consumer contract.
|
|
|
|
Both reads require one caller-supplied `runtime.ClientAuthInfoWriter` that
|
|
writes the native service credential to `X-API-Key` and forwards only the
|
|
`kvSession` cookie. The generated operations retain that single compound
|
|
writer. Callers must not forward the browser's complete cookie header.
|
|
|
|
`swagger/client/stash-pdf-metadata.yaml` is the reproducible consumer
|
|
projection. `scripts/release.sh regen` uses it only for Stash while continuing
|
|
to copy the complete provider spec into the normal internal and external
|
|
documentation locations.
|
|
|
|
## Dependency and release gate
|
|
|
|
This Lib PR may be reviewed while Stash PR #16 is open, but it must not be
|
|
released for production consumption before the provider PR is merged and its
|
|
deployment gates are satisfied. In particular, Stash deployment remains
|
|
blocked on:
|
|
|
|
1. the governed PDF tenancy migration from `go/db` commit
|
|
`5e3c03d5d52c8328708897032fcc213f548bc667`;
|
|
2. the exact `stash:pdf:read` scope grant;
|
|
3. canonical Keenan Vision tenant configuration; and
|
|
4. the provider's production no-write smoke test.
|
|
|
|
This client slice applies no database change, grants no scope, changes no
|
|
credential, creates no release, and performs no deployment.
|