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.
Update to Pydantic v2 and remove all calls to deprecated methods.
This unfortunately requires two ugly workarounds, one due to a bug in Pydantic's mypy plugin and one due to a bug in FastAPI. For the first, a bunch of fields in TokenData that should be inherited from TokenUserInfo have to be reiterated because Pydantic's mypy plugin loses a union with None on inherited attributes. For the second, an exception handler for RequestValidationError had to be added to avoid FastAPI attempting to serialize PydanticUndefinedType when the user doesn't provide a query attribute that must be a list.