fix: Pydantic Validation For Empty ID String #3160
Merged
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.
What type of PR is this?
(REQUIRED)
What this PR does / why we need it:
(REQUIRED)
#3157 introduced a placeholder id field to fix an issue where Pydantic chose the wrong model in a type union. However, if it receives an empty string, instead of coercing that to
None
, it tries to coerce it to aUUID
(which fails). This PR adds an explicit validator.This issue presents itself when parsing a recipe, if you try to click the button to create a missing food/unit based on the parse result. I can't seem to find anywhere else where that happens (the data management page, for example, doesn't do that).
Which issue(s) this PR fixes:
(REQUIRED)
Raised in Discord
Special notes for your reviewer:
(fill-in or delete this section)
I tried to poke around and see where else this might be an issue, but I couldn't find any other
id: UUID4 | None
situations that don't work as expected ¯\_(ツ)_/¯Testing
(fill-in or delete this section)
Manually