63 lines
3.7 KiB
Markdown
63 lines
3.7 KiB
Markdown
# API Coverage — Phase 11 (Centrifugo, Typesense, Web Push services)
|
|
|
|
> Full coverage by default. Opt-outs are explicit, reasoned decisions. The PHP clients being ported (websockets `CentrifugoClient`, Scout `TypesenseEngine`, the websockets push block) define the baseline; D-12 and D-19 make both clients hand-rolled on net/http.
|
|
|
|
## Centrifugo server HTTP API (outbound, plan 11-03 and 11-04)
|
|
|
|
| capability | decision | reason |
|
|
|---|---|---|
|
|
| publish | INTEGRATE | |
|
|
| broadcast | INTEGRATE | |
|
|
| presence | INTEGRATE | |
|
|
| unsubscribe | INTEGRATE | |
|
|
| info | INTEGRATE | |
|
|
| presence_stats | OPT-OUT | not in the PHP CentrifugoClient contract and no Phase 11-15 consumer |
|
|
| history | OPT-OUT | not in the PHP CentrifugoClient contract; the Nuxt client does not use history recovery |
|
|
| history_remove | OPT-OUT | not in the PHP CentrifugoClient contract and no consumer |
|
|
| channels | OPT-OUT | not in the PHP CentrifugoClient contract and no consumer |
|
|
| disconnect | OPT-OUT | not in the PHP CentrifugoClient contract; token revocation is not part of the port |
|
|
| refresh | OPT-OUT | not in the PHP CentrifugoClient contract; connection tokens expire by exp as in PHP |
|
|
| subscribe (server-side) | OPT-OUT | not in the PHP CentrifugoClient contract; clients subscribe through the subscribe proxy |
|
|
| batch | OPT-OUT | not needed; PHP sends one request per publish or broadcast |
|
|
|
|
## Centrifugo proxy and token contract (inbound and signed, plan 11-03)
|
|
|
|
| capability | decision | reason |
|
|
|---|---|---|
|
|
| subscribe proxy | INTEGRATE | |
|
|
| connection token (HS256) | INTEGRATE | |
|
|
| subscription token (HS256) | INTEGRATE | |
|
|
| anonymous and identifier tokens | INTEGRATE | |
|
|
| connect proxy | OPT-OUT | explicitly out of scope — PHP authenticates connections with JWTs, not a connect proxy |
|
|
| refresh proxy | OPT-OUT | explicitly out of scope — not configured on the existing Centrifugo server |
|
|
| publish proxy | OPT-OUT | explicitly out of scope — clients never publish; the server publishes through the HTTP API |
|
|
| sub_refresh proxy | OPT-OUT | explicitly out of scope — not configured on the existing Centrifugo server |
|
|
| rpc proxy | OPT-OUT | explicitly out of scope — the Nuxt client makes no Centrifugo RPC calls |
|
|
|
|
## Typesense API (outbound, plan 11-05)
|
|
|
|
| capability | decision | reason |
|
|
|---|---|---|
|
|
| collection retrieve | INTEGRATE | |
|
|
| collection create | INTEGRATE | |
|
|
| collection delete (flush) | INTEGRATE | |
|
|
| documents import upsert | INTEGRATE | |
|
|
| document delete | INTEGRATE | |
|
|
| documents search | INTEGRATE | |
|
|
| multi_search | OPT-OUT | not needed — Scout issues single-collection searches |
|
|
| delete documents by filter | OPT-OUT | not needed yet — Phase 14 reindex (SRCH-02) decides its own flush strategy |
|
|
| collection update (schema alter) | OPT-OUT | not needed — schema changes go through reindex, as in PHP |
|
|
| aliases | OPT-OUT | not needed yet — the legacy-index drop belongs to Phase 14 SRCH-02 |
|
|
| synonyms and curation overrides | OPT-OUT | not used by the PHP app |
|
|
| API keys management | OPT-OUT | explicitly out of scope — keys are operator-provisioned |
|
|
| health and metrics | OPT-OUT | not needed — sync failures are logged per request and never block writes |
|
|
|
|
## Web Push service protocol (outbound, plan 11-04)
|
|
|
|
| capability | decision | reason |
|
|
|---|---|---|
|
|
| send notification (RFC 8030 push with RFC 8291 payload and RFC 8292 VAPID) | INTEGRATE | |
|
|
| message urgency and topic headers | INTEGRATE | |
|
|
| receipts (push message receipts) | OPT-OUT | not needed — PHP never requested receipts and push services rarely support them |
|
|
| subscription management (store and prune) | OPT-OUT | explicitly out of scope — subscriptions come from an app-provided SubscriptionSource (user decision 3); Płytarium has no store |
|