You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Require both pgConfig and pgBouncerConfig in PATCH/POST bodies
The behaviour matrix captured in #163 shows the live API rejects any
postgresInstanceConfig PATCH or POST body that omits either nested
object: omitting pgBouncerConfig yields `BAD_REQUEST: request
body.pgBouncerConfig: 'undefined'`, omitting pgConfig yields the
symmetric error. Sending `{}` for either is accepted (matrix body 2 →
200). The previous commit had flipped both to Option<T> with
skip_serializing_if so partial PATCHes could send only the changed
half, but that shape doesn't match the API.
Flip pg_config and pg_bouncer_config on PostgresInstanceConfig back to
required (bare T with #[serde(default)] so the default envelope still
serialises to `{ "pgConfig": {}, "pgBouncerConfig": {} }`), drop the
two corresponding OPTIONALITY_EXEMPTIONS entries, and update the
fixture/integration tests to construct the new shape. Inner pgConfig
fields stay Option<T> with skip_serializing_if — those remain
opt-in per the spec's all-optional partial-update semantics.
Response-side deserialisation is still broken (the API returns
strictly-numeric pgConfig fields wrapped in JSON strings), which is
tracked separately and blocks the integration round-trip.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
0 commit comments