CRUD endpoint POST response is a single-item list instead of an object - #338
Open
juneja-varun wants to merge 1 commit into
Open
juneja-varun wants to merge 1 commit into
juneja-varun wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #211.
I POST to a PiccoloCRUD endpoint to create a resource and expect to read the new id off the parsed response (
response.json()["id"]), but the body comes back as a single-item list instead -[{"id": 4}]- so every client has to unwrap it first.row.save().run()on a new row returns a list frominsert(self).returning(pk_column)even for a single row, and that list was JSON-dumped directly. TheBaseUserbranch two lines above already unwraps its single item correctly, so this brings the general-table branch in line with that existing pattern.Added a regression test confirming the response is a dict with the correct id, and fixed one existing test that had encoded the buggy list shape as its expected value. Worth flagging as a response-shape change - any client currently unwrapping a list would need to read the id directly after this lands, which is the shape the issue (and
ModelOut's own schema) already expects.