1 changed files with 0 additions and 718 deletions
@ -1,718 +0,0 @@ |
|||
import warnings |
|||
from typing import Annotated, Any, Callable, Optional, Union |
|||
|
|||
from fastapi.exceptions import FastAPIDeprecationWarning |
|||
from fastapi.openapi.models import Example |
|||
from fastapi.params import ParamTypes |
|||
from typing_extensions import deprecated |
|||
|
|||
from ._compat.may_v1 import FieldInfo, Undefined |
|||
|
|||
_Unset: Any = Undefined |
|||
|
|||
|
|||
class Param(FieldInfo): |
|||
in_: ParamTypes |
|||
|
|||
def __init__( |
|||
self, |
|||
default: Any = Undefined, |
|||
*, |
|||
default_factory: Union[Callable[[], Any], None] = _Unset, |
|||
annotation: Optional[Any] = None, |
|||
alias: Optional[str] = None, |
|||
alias_priority: Union[int, None] = _Unset, |
|||
# TODO: update when deprecating Pydantic v1, import these types |
|||
# validation_alias: str | AliasPath | AliasChoices | None |
|||
validation_alias: Union[str, None] = None, |
|||
serialization_alias: Union[str, None] = None, |
|||
title: Optional[str] = None, |
|||
description: Optional[str] = None, |
|||
gt: Optional[float] = None, |
|||
ge: Optional[float] = None, |
|||
lt: Optional[float] = None, |
|||
le: Optional[float] = None, |
|||
min_length: Optional[int] = None, |
|||
max_length: Optional[int] = None, |
|||
pattern: Optional[str] = None, |
|||
regex: Annotated[ |
|||
Optional[str], |
|||
deprecated( |
|||
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." |
|||
), |
|||
] = None, |
|||
discriminator: Union[str, None] = None, |
|||
strict: Union[bool, None] = _Unset, |
|||
multiple_of: Union[float, None] = _Unset, |
|||
allow_inf_nan: Union[bool, None] = _Unset, |
|||
max_digits: Union[int, None] = _Unset, |
|||
decimal_places: Union[int, None] = _Unset, |
|||
examples: Optional[list[Any]] = None, |
|||
example: Annotated[ |
|||
Optional[Any], |
|||
deprecated( |
|||
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " |
|||
"although still supported. Use examples instead." |
|||
), |
|||
] = _Unset, |
|||
openapi_examples: Optional[dict[str, Example]] = None, |
|||
deprecated: Union[deprecated, str, bool, None] = None, |
|||
include_in_schema: bool = True, |
|||
json_schema_extra: Union[dict[str, Any], None] = None, |
|||
**extra: Any, |
|||
): |
|||
if example is not _Unset: |
|||
warnings.warn( |
|||
"`example` has been deprecated, please use `examples` instead", |
|||
category=FastAPIDeprecationWarning, |
|||
stacklevel=4, |
|||
) |
|||
self.example = example |
|||
self.include_in_schema = include_in_schema |
|||
self.openapi_examples = openapi_examples |
|||
kwargs = dict( |
|||
default=default, |
|||
default_factory=default_factory, |
|||
alias=alias, |
|||
title=title, |
|||
description=description, |
|||
gt=gt, |
|||
ge=ge, |
|||
lt=lt, |
|||
le=le, |
|||
min_length=min_length, |
|||
max_length=max_length, |
|||
discriminator=discriminator, |
|||
multiple_of=multiple_of, |
|||
allow_inf_nan=allow_inf_nan, |
|||
max_digits=max_digits, |
|||
decimal_places=decimal_places, |
|||
**extra, |
|||
) |
|||
if examples is not None: |
|||
kwargs["examples"] = examples |
|||
if regex is not None: |
|||
warnings.warn( |
|||
"`regex` has been deprecated, please use `pattern` instead", |
|||
category=FastAPIDeprecationWarning, |
|||
stacklevel=4, |
|||
) |
|||
current_json_schema_extra = json_schema_extra or extra |
|||
kwargs["deprecated"] = deprecated |
|||
kwargs["regex"] = pattern or regex |
|||
kwargs.update(**current_json_schema_extra) |
|||
use_kwargs = {k: v for k, v in kwargs.items() if v is not _Unset} |
|||
|
|||
super().__init__(**use_kwargs) |
|||
|
|||
def __repr__(self) -> str: |
|||
return f"{self.__class__.__name__}({self.default})" |
|||
|
|||
|
|||
class Path(Param): |
|||
in_ = ParamTypes.path |
|||
|
|||
def __init__( |
|||
self, |
|||
default: Any = ..., |
|||
*, |
|||
default_factory: Union[Callable[[], Any], None] = _Unset, |
|||
annotation: Optional[Any] = None, |
|||
alias: Optional[str] = None, |
|||
alias_priority: Union[int, None] = _Unset, |
|||
# TODO: update when deprecating Pydantic v1, import these types |
|||
# validation_alias: str | AliasPath | AliasChoices | None |
|||
validation_alias: Union[str, None] = None, |
|||
serialization_alias: Union[str, None] = None, |
|||
title: Optional[str] = None, |
|||
description: Optional[str] = None, |
|||
gt: Optional[float] = None, |
|||
ge: Optional[float] = None, |
|||
lt: Optional[float] = None, |
|||
le: Optional[float] = None, |
|||
min_length: Optional[int] = None, |
|||
max_length: Optional[int] = None, |
|||
pattern: Optional[str] = None, |
|||
regex: Annotated[ |
|||
Optional[str], |
|||
deprecated( |
|||
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." |
|||
), |
|||
] = None, |
|||
discriminator: Union[str, None] = None, |
|||
strict: Union[bool, None] = _Unset, |
|||
multiple_of: Union[float, None] = _Unset, |
|||
allow_inf_nan: Union[bool, None] = _Unset, |
|||
max_digits: Union[int, None] = _Unset, |
|||
decimal_places: Union[int, None] = _Unset, |
|||
examples: Optional[list[Any]] = None, |
|||
example: Annotated[ |
|||
Optional[Any], |
|||
deprecated( |
|||
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " |
|||
"although still supported. Use examples instead." |
|||
), |
|||
] = _Unset, |
|||
openapi_examples: Optional[dict[str, Example]] = None, |
|||
deprecated: Union[deprecated, str, bool, None] = None, |
|||
include_in_schema: bool = True, |
|||
json_schema_extra: Union[dict[str, Any], None] = None, |
|||
**extra: Any, |
|||
): |
|||
assert default is ..., "Path parameters cannot have a default value" |
|||
self.in_ = self.in_ |
|||
super().__init__( |
|||
default=default, |
|||
default_factory=default_factory, |
|||
annotation=annotation, |
|||
alias=alias, |
|||
alias_priority=alias_priority, |
|||
validation_alias=validation_alias, |
|||
serialization_alias=serialization_alias, |
|||
title=title, |
|||
description=description, |
|||
gt=gt, |
|||
ge=ge, |
|||
lt=lt, |
|||
le=le, |
|||
min_length=min_length, |
|||
max_length=max_length, |
|||
pattern=pattern, |
|||
regex=regex, |
|||
discriminator=discriminator, |
|||
strict=strict, |
|||
multiple_of=multiple_of, |
|||
allow_inf_nan=allow_inf_nan, |
|||
max_digits=max_digits, |
|||
decimal_places=decimal_places, |
|||
deprecated=deprecated, |
|||
example=example, |
|||
examples=examples, |
|||
openapi_examples=openapi_examples, |
|||
include_in_schema=include_in_schema, |
|||
json_schema_extra=json_schema_extra, |
|||
**extra, |
|||
) |
|||
|
|||
|
|||
class Query(Param): |
|||
in_ = ParamTypes.query |
|||
|
|||
def __init__( |
|||
self, |
|||
default: Any = Undefined, |
|||
*, |
|||
default_factory: Union[Callable[[], Any], None] = _Unset, |
|||
annotation: Optional[Any] = None, |
|||
alias: Optional[str] = None, |
|||
alias_priority: Union[int, None] = _Unset, |
|||
# TODO: update when deprecating Pydantic v1, import these types |
|||
# validation_alias: str | AliasPath | AliasChoices | None |
|||
validation_alias: Union[str, None] = None, |
|||
serialization_alias: Union[str, None] = None, |
|||
title: Optional[str] = None, |
|||
description: Optional[str] = None, |
|||
gt: Optional[float] = None, |
|||
ge: Optional[float] = None, |
|||
lt: Optional[float] = None, |
|||
le: Optional[float] = None, |
|||
min_length: Optional[int] = None, |
|||
max_length: Optional[int] = None, |
|||
pattern: Optional[str] = None, |
|||
regex: Annotated[ |
|||
Optional[str], |
|||
deprecated( |
|||
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." |
|||
), |
|||
] = None, |
|||
discriminator: Union[str, None] = None, |
|||
strict: Union[bool, None] = _Unset, |
|||
multiple_of: Union[float, None] = _Unset, |
|||
allow_inf_nan: Union[bool, None] = _Unset, |
|||
max_digits: Union[int, None] = _Unset, |
|||
decimal_places: Union[int, None] = _Unset, |
|||
examples: Optional[list[Any]] = None, |
|||
example: Annotated[ |
|||
Optional[Any], |
|||
deprecated( |
|||
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " |
|||
"although still supported. Use examples instead." |
|||
), |
|||
] = _Unset, |
|||
openapi_examples: Optional[dict[str, Example]] = None, |
|||
deprecated: Union[deprecated, str, bool, None] = None, |
|||
include_in_schema: bool = True, |
|||
json_schema_extra: Union[dict[str, Any], None] = None, |
|||
**extra: Any, |
|||
): |
|||
super().__init__( |
|||
default=default, |
|||
default_factory=default_factory, |
|||
annotation=annotation, |
|||
alias=alias, |
|||
alias_priority=alias_priority, |
|||
validation_alias=validation_alias, |
|||
serialization_alias=serialization_alias, |
|||
title=title, |
|||
description=description, |
|||
gt=gt, |
|||
ge=ge, |
|||
lt=lt, |
|||
le=le, |
|||
min_length=min_length, |
|||
max_length=max_length, |
|||
pattern=pattern, |
|||
regex=regex, |
|||
discriminator=discriminator, |
|||
strict=strict, |
|||
multiple_of=multiple_of, |
|||
allow_inf_nan=allow_inf_nan, |
|||
max_digits=max_digits, |
|||
decimal_places=decimal_places, |
|||
deprecated=deprecated, |
|||
example=example, |
|||
examples=examples, |
|||
openapi_examples=openapi_examples, |
|||
include_in_schema=include_in_schema, |
|||
json_schema_extra=json_schema_extra, |
|||
**extra, |
|||
) |
|||
|
|||
|
|||
class Header(Param): |
|||
in_ = ParamTypes.header |
|||
|
|||
def __init__( |
|||
self, |
|||
default: Any = Undefined, |
|||
*, |
|||
default_factory: Union[Callable[[], Any], None] = _Unset, |
|||
annotation: Optional[Any] = None, |
|||
alias: Optional[str] = None, |
|||
alias_priority: Union[int, None] = _Unset, |
|||
# TODO: update when deprecating Pydantic v1, import these types |
|||
# validation_alias: str | AliasPath | AliasChoices | None |
|||
validation_alias: Union[str, None] = None, |
|||
serialization_alias: Union[str, None] = None, |
|||
convert_underscores: bool = True, |
|||
title: Optional[str] = None, |
|||
description: Optional[str] = None, |
|||
gt: Optional[float] = None, |
|||
ge: Optional[float] = None, |
|||
lt: Optional[float] = None, |
|||
le: Optional[float] = None, |
|||
min_length: Optional[int] = None, |
|||
max_length: Optional[int] = None, |
|||
pattern: Optional[str] = None, |
|||
regex: Annotated[ |
|||
Optional[str], |
|||
deprecated( |
|||
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." |
|||
), |
|||
] = None, |
|||
discriminator: Union[str, None] = None, |
|||
strict: Union[bool, None] = _Unset, |
|||
multiple_of: Union[float, None] = _Unset, |
|||
allow_inf_nan: Union[bool, None] = _Unset, |
|||
max_digits: Union[int, None] = _Unset, |
|||
decimal_places: Union[int, None] = _Unset, |
|||
examples: Optional[list[Any]] = None, |
|||
example: Annotated[ |
|||
Optional[Any], |
|||
deprecated( |
|||
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " |
|||
"although still supported. Use examples instead." |
|||
), |
|||
] = _Unset, |
|||
openapi_examples: Optional[dict[str, Example]] = None, |
|||
deprecated: Union[deprecated, str, bool, None] = None, |
|||
include_in_schema: bool = True, |
|||
json_schema_extra: Union[dict[str, Any], None] = None, |
|||
**extra: Any, |
|||
): |
|||
self.convert_underscores = convert_underscores |
|||
super().__init__( |
|||
default=default, |
|||
default_factory=default_factory, |
|||
annotation=annotation, |
|||
alias=alias, |
|||
alias_priority=alias_priority, |
|||
validation_alias=validation_alias, |
|||
serialization_alias=serialization_alias, |
|||
title=title, |
|||
description=description, |
|||
gt=gt, |
|||
ge=ge, |
|||
lt=lt, |
|||
le=le, |
|||
min_length=min_length, |
|||
max_length=max_length, |
|||
pattern=pattern, |
|||
regex=regex, |
|||
discriminator=discriminator, |
|||
strict=strict, |
|||
multiple_of=multiple_of, |
|||
allow_inf_nan=allow_inf_nan, |
|||
max_digits=max_digits, |
|||
decimal_places=decimal_places, |
|||
deprecated=deprecated, |
|||
example=example, |
|||
examples=examples, |
|||
openapi_examples=openapi_examples, |
|||
include_in_schema=include_in_schema, |
|||
json_schema_extra=json_schema_extra, |
|||
**extra, |
|||
) |
|||
|
|||
|
|||
class Cookie(Param): |
|||
in_ = ParamTypes.cookie |
|||
|
|||
def __init__( |
|||
self, |
|||
default: Any = Undefined, |
|||
*, |
|||
default_factory: Union[Callable[[], Any], None] = _Unset, |
|||
annotation: Optional[Any] = None, |
|||
alias: Optional[str] = None, |
|||
alias_priority: Union[int, None] = _Unset, |
|||
# TODO: update when deprecating Pydantic v1, import these types |
|||
# validation_alias: str | AliasPath | AliasChoices | None |
|||
validation_alias: Union[str, None] = None, |
|||
serialization_alias: Union[str, None] = None, |
|||
title: Optional[str] = None, |
|||
description: Optional[str] = None, |
|||
gt: Optional[float] = None, |
|||
ge: Optional[float] = None, |
|||
lt: Optional[float] = None, |
|||
le: Optional[float] = None, |
|||
min_length: Optional[int] = None, |
|||
max_length: Optional[int] = None, |
|||
pattern: Optional[str] = None, |
|||
regex: Annotated[ |
|||
Optional[str], |
|||
deprecated( |
|||
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." |
|||
), |
|||
] = None, |
|||
discriminator: Union[str, None] = None, |
|||
strict: Union[bool, None] = _Unset, |
|||
multiple_of: Union[float, None] = _Unset, |
|||
allow_inf_nan: Union[bool, None] = _Unset, |
|||
max_digits: Union[int, None] = _Unset, |
|||
decimal_places: Union[int, None] = _Unset, |
|||
examples: Optional[list[Any]] = None, |
|||
example: Annotated[ |
|||
Optional[Any], |
|||
deprecated( |
|||
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " |
|||
"although still supported. Use examples instead." |
|||
), |
|||
] = _Unset, |
|||
openapi_examples: Optional[dict[str, Example]] = None, |
|||
deprecated: Union[deprecated, str, bool, None] = None, |
|||
include_in_schema: bool = True, |
|||
json_schema_extra: Union[dict[str, Any], None] = None, |
|||
**extra: Any, |
|||
): |
|||
super().__init__( |
|||
default=default, |
|||
default_factory=default_factory, |
|||
annotation=annotation, |
|||
alias=alias, |
|||
alias_priority=alias_priority, |
|||
validation_alias=validation_alias, |
|||
serialization_alias=serialization_alias, |
|||
title=title, |
|||
description=description, |
|||
gt=gt, |
|||
ge=ge, |
|||
lt=lt, |
|||
le=le, |
|||
min_length=min_length, |
|||
max_length=max_length, |
|||
pattern=pattern, |
|||
regex=regex, |
|||
discriminator=discriminator, |
|||
strict=strict, |
|||
multiple_of=multiple_of, |
|||
allow_inf_nan=allow_inf_nan, |
|||
max_digits=max_digits, |
|||
decimal_places=decimal_places, |
|||
deprecated=deprecated, |
|||
example=example, |
|||
examples=examples, |
|||
openapi_examples=openapi_examples, |
|||
include_in_schema=include_in_schema, |
|||
json_schema_extra=json_schema_extra, |
|||
**extra, |
|||
) |
|||
|
|||
|
|||
class Body(FieldInfo): |
|||
def __init__( |
|||
self, |
|||
default: Any = Undefined, |
|||
*, |
|||
default_factory: Union[Callable[[], Any], None] = _Unset, |
|||
annotation: Optional[Any] = None, |
|||
embed: Union[bool, None] = None, |
|||
media_type: str = "application/json", |
|||
alias: Optional[str] = None, |
|||
alias_priority: Union[int, None] = _Unset, |
|||
# TODO: update when deprecating Pydantic v1, import these types |
|||
# validation_alias: str | AliasPath | AliasChoices | None |
|||
validation_alias: Union[str, None] = None, |
|||
serialization_alias: Union[str, None] = None, |
|||
title: Optional[str] = None, |
|||
description: Optional[str] = None, |
|||
gt: Optional[float] = None, |
|||
ge: Optional[float] = None, |
|||
lt: Optional[float] = None, |
|||
le: Optional[float] = None, |
|||
min_length: Optional[int] = None, |
|||
max_length: Optional[int] = None, |
|||
pattern: Optional[str] = None, |
|||
regex: Annotated[ |
|||
Optional[str], |
|||
deprecated( |
|||
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." |
|||
), |
|||
] = None, |
|||
discriminator: Union[str, None] = None, |
|||
strict: Union[bool, None] = _Unset, |
|||
multiple_of: Union[float, None] = _Unset, |
|||
allow_inf_nan: Union[bool, None] = _Unset, |
|||
max_digits: Union[int, None] = _Unset, |
|||
decimal_places: Union[int, None] = _Unset, |
|||
examples: Optional[list[Any]] = None, |
|||
example: Annotated[ |
|||
Optional[Any], |
|||
deprecated( |
|||
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " |
|||
"although still supported. Use examples instead." |
|||
), |
|||
] = _Unset, |
|||
openapi_examples: Optional[dict[str, Example]] = None, |
|||
deprecated: Union[deprecated, str, bool, None] = None, |
|||
include_in_schema: bool = True, |
|||
json_schema_extra: Union[dict[str, Any], None] = None, |
|||
**extra: Any, |
|||
): |
|||
self.embed = embed |
|||
self.media_type = media_type |
|||
if example is not _Unset: |
|||
warnings.warn( |
|||
"`example` has been deprecated, please use `examples` instead", |
|||
category=FastAPIDeprecationWarning, |
|||
stacklevel=4, |
|||
) |
|||
self.example = example |
|||
self.include_in_schema = include_in_schema |
|||
self.openapi_examples = openapi_examples |
|||
kwargs = dict( |
|||
default=default, |
|||
default_factory=default_factory, |
|||
alias=alias, |
|||
title=title, |
|||
description=description, |
|||
gt=gt, |
|||
ge=ge, |
|||
lt=lt, |
|||
le=le, |
|||
min_length=min_length, |
|||
max_length=max_length, |
|||
discriminator=discriminator, |
|||
multiple_of=multiple_of, |
|||
allow_inf_nan=allow_inf_nan, |
|||
max_digits=max_digits, |
|||
decimal_places=decimal_places, |
|||
**extra, |
|||
) |
|||
if examples is not None: |
|||
kwargs["examples"] = examples |
|||
if regex is not None: |
|||
warnings.warn( |
|||
"`regex` has been deprecated, please use `pattern` instead", |
|||
category=FastAPIDeprecationWarning, |
|||
stacklevel=4, |
|||
) |
|||
current_json_schema_extra = json_schema_extra or extra |
|||
kwargs["deprecated"] = deprecated |
|||
kwargs["regex"] = pattern or regex |
|||
kwargs.update(**current_json_schema_extra) |
|||
|
|||
use_kwargs = {k: v for k, v in kwargs.items() if v is not _Unset} |
|||
|
|||
super().__init__(**use_kwargs) |
|||
|
|||
def __repr__(self) -> str: |
|||
return f"{self.__class__.__name__}({self.default})" |
|||
|
|||
|
|||
class Form(Body): |
|||
def __init__( |
|||
self, |
|||
default: Any = Undefined, |
|||
*, |
|||
default_factory: Union[Callable[[], Any], None] = _Unset, |
|||
annotation: Optional[Any] = None, |
|||
media_type: str = "application/x-www-form-urlencoded", |
|||
alias: Optional[str] = None, |
|||
alias_priority: Union[int, None] = _Unset, |
|||
# TODO: update when deprecating Pydantic v1, import these types |
|||
# validation_alias: str | AliasPath | AliasChoices | None |
|||
validation_alias: Union[str, None] = None, |
|||
serialization_alias: Union[str, None] = None, |
|||
title: Optional[str] = None, |
|||
description: Optional[str] = None, |
|||
gt: Optional[float] = None, |
|||
ge: Optional[float] = None, |
|||
lt: Optional[float] = None, |
|||
le: Optional[float] = None, |
|||
min_length: Optional[int] = None, |
|||
max_length: Optional[int] = None, |
|||
pattern: Optional[str] = None, |
|||
regex: Annotated[ |
|||
Optional[str], |
|||
deprecated( |
|||
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." |
|||
), |
|||
] = None, |
|||
discriminator: Union[str, None] = None, |
|||
strict: Union[bool, None] = _Unset, |
|||
multiple_of: Union[float, None] = _Unset, |
|||
allow_inf_nan: Union[bool, None] = _Unset, |
|||
max_digits: Union[int, None] = _Unset, |
|||
decimal_places: Union[int, None] = _Unset, |
|||
examples: Optional[list[Any]] = None, |
|||
example: Annotated[ |
|||
Optional[Any], |
|||
deprecated( |
|||
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " |
|||
"although still supported. Use examples instead." |
|||
), |
|||
] = _Unset, |
|||
openapi_examples: Optional[dict[str, Example]] = None, |
|||
deprecated: Union[deprecated, str, bool, None] = None, |
|||
include_in_schema: bool = True, |
|||
json_schema_extra: Union[dict[str, Any], None] = None, |
|||
**extra: Any, |
|||
): |
|||
super().__init__( |
|||
default=default, |
|||
default_factory=default_factory, |
|||
annotation=annotation, |
|||
media_type=media_type, |
|||
alias=alias, |
|||
alias_priority=alias_priority, |
|||
validation_alias=validation_alias, |
|||
serialization_alias=serialization_alias, |
|||
title=title, |
|||
description=description, |
|||
gt=gt, |
|||
ge=ge, |
|||
lt=lt, |
|||
le=le, |
|||
min_length=min_length, |
|||
max_length=max_length, |
|||
pattern=pattern, |
|||
regex=regex, |
|||
discriminator=discriminator, |
|||
strict=strict, |
|||
multiple_of=multiple_of, |
|||
allow_inf_nan=allow_inf_nan, |
|||
max_digits=max_digits, |
|||
decimal_places=decimal_places, |
|||
deprecated=deprecated, |
|||
example=example, |
|||
examples=examples, |
|||
openapi_examples=openapi_examples, |
|||
include_in_schema=include_in_schema, |
|||
json_schema_extra=json_schema_extra, |
|||
**extra, |
|||
) |
|||
|
|||
|
|||
class File(Form): |
|||
def __init__( |
|||
self, |
|||
default: Any = Undefined, |
|||
*, |
|||
default_factory: Union[Callable[[], Any], None] = _Unset, |
|||
annotation: Optional[Any] = None, |
|||
media_type: str = "multipart/form-data", |
|||
alias: Optional[str] = None, |
|||
alias_priority: Union[int, None] = _Unset, |
|||
# TODO: update when deprecating Pydantic v1, import these types |
|||
# validation_alias: str | AliasPath | AliasChoices | None |
|||
validation_alias: Union[str, None] = None, |
|||
serialization_alias: Union[str, None] = None, |
|||
title: Optional[str] = None, |
|||
description: Optional[str] = None, |
|||
gt: Optional[float] = None, |
|||
ge: Optional[float] = None, |
|||
lt: Optional[float] = None, |
|||
le: Optional[float] = None, |
|||
min_length: Optional[int] = None, |
|||
max_length: Optional[int] = None, |
|||
pattern: Optional[str] = None, |
|||
regex: Annotated[ |
|||
Optional[str], |
|||
deprecated( |
|||
"Deprecated in FastAPI 0.100.0 and Pydantic v2, use `pattern` instead." |
|||
), |
|||
] = None, |
|||
discriminator: Union[str, None] = None, |
|||
strict: Union[bool, None] = _Unset, |
|||
multiple_of: Union[float, None] = _Unset, |
|||
allow_inf_nan: Union[bool, None] = _Unset, |
|||
max_digits: Union[int, None] = _Unset, |
|||
decimal_places: Union[int, None] = _Unset, |
|||
examples: Optional[list[Any]] = None, |
|||
example: Annotated[ |
|||
Optional[Any], |
|||
deprecated( |
|||
"Deprecated in OpenAPI 3.1.0 that now uses JSON Schema 2020-12, " |
|||
"although still supported. Use examples instead." |
|||
), |
|||
] = _Unset, |
|||
openapi_examples: Optional[dict[str, Example]] = None, |
|||
deprecated: Union[deprecated, str, bool, None] = None, |
|||
include_in_schema: bool = True, |
|||
json_schema_extra: Union[dict[str, Any], None] = None, |
|||
**extra: Any, |
|||
): |
|||
super().__init__( |
|||
default=default, |
|||
default_factory=default_factory, |
|||
annotation=annotation, |
|||
media_type=media_type, |
|||
alias=alias, |
|||
alias_priority=alias_priority, |
|||
validation_alias=validation_alias, |
|||
serialization_alias=serialization_alias, |
|||
title=title, |
|||
description=description, |
|||
gt=gt, |
|||
ge=ge, |
|||
lt=lt, |
|||
le=le, |
|||
min_length=min_length, |
|||
max_length=max_length, |
|||
pattern=pattern, |
|||
regex=regex, |
|||
discriminator=discriminator, |
|||
strict=strict, |
|||
multiple_of=multiple_of, |
|||
allow_inf_nan=allow_inf_nan, |
|||
max_digits=max_digits, |
|||
decimal_places=decimal_places, |
|||
deprecated=deprecated, |
|||
example=example, |
|||
examples=examples, |
|||
openapi_examples=openapi_examples, |
|||
include_in_schema=include_in_schema, |
|||
json_schema_extra=json_schema_extra, |
|||
**extra, |
|||
) |
|||
Loading…
Reference in new issue