@contextmanager
def patch_get_parameter_type() -> Iterator[None]:
original_get_parameter_type = OpenAPIParser.get_parameter_type
def get_parameter_type(
self: OpenAPIParser,
parameters: Union[ReferenceObject, ParameterObject],
snake_case: bool,
path: list[str],
) -> Optional[Argument]:
# get the original argument
argument = original_get_parameter_type(self, parameters, snake_case, path)
# add description to the argument
parameters = self.resolve_object(parameters, ParameterObject)
argument_with_description = ArgumentWithDescription(
description=parameters.description, **argument.model_dump()
)
return argument_with_description
OpenAPIParser.get_parameter_type = get_parameter_type
try:
yield
finally:
OpenAPIParser.get_parameter_type = original_get_parameter_type