Releases: sferarc/pgbeam-cli
Release list
v0.3.12
v0.3.11
v0.3.10
v0.3.9
v0.3.8
v0.3.7
v0.3.6
Patch Changes
-
3f33063: fix(sdk,cli): read the API's RFC 9457 problem documents
ApiErrornow exposescode,type,title,detail,instance,requestIdanderrors, and itsmessagecomes from the document'sdetailrather than falling through to the status text. Branch oncode: two conditions can share a status, and a 403 is either a permissions problem or a billing one. The CLI puts the code on the error line, lists field errors under it, and carries both in--jsonoutput. -
Updated dependencies [3f33063]
-
Updated dependencies [022577d]
-
Updated dependencies [eca3f27]
-
Updated dependencies [c1fa878]
-
Updated dependencies [9818ecf]
-
Updated dependencies [3f33063]
- pgbeam@0.4.12
v0.3.5
Patch Changes
-
43acb8e: feat(api): publish organization membership endpoints, split out of #2079
-
379b817: feat(webhooks): publish delivery contract and validate event types
-
43acb8e: fix(api): the member API contract claimed two things the server refuses
UpdateOrgMemberRoleRequest.roleandCreateOrgInvitationRequest.rolenow use a newAssignableOrgRoleenum, which isOrgRolewithoutowner. The server has always rejectedowneron both paths with a 400, so every generated client, the CLI help and the reference pages were advertising a call that never works. Responses keep the fullOrgRole, because a member really can be an owner.roleis also no longer required on an invitation, matching the server, which defaults an absent role tomember.listOrgMembersandlistOrgInvitationsnow enforce thepage_sizerange they declare. They read the query string directly and clamped anything outside 1 to 100 back to the default of 20, so?page_size=500was a documented 400 everywhere else in the API and a silent 20 here.listOrgInvitationsnow enforces thestatusenum it declares. Anything outsidepending,accepted,rejectedandcanceledwent to the database as a literal filter and came back as an empty page with a 200, so a caller who mistyped the status was told the organization has no invitations. It is a 400 now, as the contract has always said.?status=with no value is also a 400 rather than the unfiltered list; omit the parameter to list everything.removeOrgMember's published description said "An owner cannot be removed; demote them first", and the server does neither half of that. It refuses only when the organization is down to its last owner, so removing any other owner returns 204, and demoting the last owner hits the same guard and returns the same 409. The description now says what the guard does: the last remaining owner cannot be removed or demoted, so transfer ownership first, which is the advice the 409 itself gives.Go SDK callers: nothing to migrate.
OrgRoleandAssignableOrgRoleare both new types ingo.pgbeam.com/sdkas of this release, which is what the minor bump is for. -
43acb8e: fix(cli): the new organization member commands could not show a role
pgbeam orgs members list,orgs members set-role,orgs invitations listandorgs invitations createrendered a table with norolecolumn, so the command that changes a member's role could not show the role it had just set.rolepoints at theOrgRoleenum, and until #2122 the manifest generator dropped every column whose schema is a named type. This branch now builds on that fix, and the column appears in all four. On the member list it takes the slotimagehad, which was an avatar URL. -
Updated dependencies [bd2d132]
-
Updated dependencies [58d0ed0]
-
Updated dependencies [43acb8e]
-
Updated dependencies [379b817]
-
Updated dependencies [7a26954]
-
Updated dependencies [8deebf2]
-
Updated dependencies [43acb8e]
- pgbeam@0.4.11
v0.3.4
Patch Changes
-
e1229b0: fix(cli): tables dropped every field whose schema is a named type
pgbeam db listdid not show which databases are replicas,pgbeam db inspectdid not showssl_mode, andpgbeam projects listdid not show whether a project is running. All three are fields the contract declares and the API returns.The manifest generator keeps a column only when it can read a scalar
typeoff the response property, and a property that points at a named schema is a$refcarrying notype. Nothing failed: the manifest is generated and checked in, so a column that never appeared looked like a column nobody wanted. Both the parameter and the response paths now resolve one level of$refbefore deciding.db listandprojects listare at the eight-column limit, so each drops its lowest-priority column to make room:project_idon a project-scoped database list, andcloudon the project list.