pythonasyncioapiasyncfastapiframeworkjsonjson-schemaopenapiopenapi3pydanticpython-typespython3redocreststarletteswaggerswagger-uiuvicornweb
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
399 lines
9.2 KiB
399 lines
9.2 KiB
from typing import (
|
|
Any,
|
|
AsyncIterator,
|
|
Awaitable,
|
|
Callable,
|
|
Dict,
|
|
Iterator,
|
|
Optional,
|
|
Sequence,
|
|
TypeVar,
|
|
overload,
|
|
)
|
|
|
|
from fastapi import params
|
|
from pydantic.fields import Undefined
|
|
|
|
|
|
def Path( # noqa: N802
|
|
default: Any = Undefined,
|
|
*,
|
|
alias: Optional[str] = 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,
|
|
regex: Optional[str] = None,
|
|
example: Any = Undefined,
|
|
examples: Optional[Dict[str, Any]] = None,
|
|
deprecated: Optional[bool] = None,
|
|
include_in_schema: bool = True,
|
|
**extra: Any,
|
|
) -> Any:
|
|
return params.Path(
|
|
default=default,
|
|
alias=alias,
|
|
title=title,
|
|
description=description,
|
|
gt=gt,
|
|
ge=ge,
|
|
lt=lt,
|
|
le=le,
|
|
min_length=min_length,
|
|
max_length=max_length,
|
|
regex=regex,
|
|
example=example,
|
|
examples=examples,
|
|
deprecated=deprecated,
|
|
include_in_schema=include_in_schema,
|
|
**extra,
|
|
)
|
|
|
|
|
|
def Query( # noqa: N802
|
|
default: Any = Undefined,
|
|
*,
|
|
alias: Optional[str] = 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,
|
|
regex: Optional[str] = None,
|
|
example: Any = Undefined,
|
|
examples: Optional[Dict[str, Any]] = None,
|
|
deprecated: Optional[bool] = None,
|
|
include_in_schema: bool = True,
|
|
**extra: Any,
|
|
) -> Any:
|
|
return params.Query(
|
|
default=default,
|
|
alias=alias,
|
|
title=title,
|
|
description=description,
|
|
gt=gt,
|
|
ge=ge,
|
|
lt=lt,
|
|
le=le,
|
|
min_length=min_length,
|
|
max_length=max_length,
|
|
regex=regex,
|
|
example=example,
|
|
examples=examples,
|
|
deprecated=deprecated,
|
|
include_in_schema=include_in_schema,
|
|
**extra,
|
|
)
|
|
|
|
|
|
def Header( # noqa: N802
|
|
default: Any = Undefined,
|
|
*,
|
|
alias: Optional[str] = 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,
|
|
regex: Optional[str] = None,
|
|
example: Any = Undefined,
|
|
examples: Optional[Dict[str, Any]] = None,
|
|
deprecated: Optional[bool] = None,
|
|
include_in_schema: bool = True,
|
|
**extra: Any,
|
|
) -> Any:
|
|
return params.Header(
|
|
default=default,
|
|
alias=alias,
|
|
convert_underscores=convert_underscores,
|
|
title=title,
|
|
description=description,
|
|
gt=gt,
|
|
ge=ge,
|
|
lt=lt,
|
|
le=le,
|
|
min_length=min_length,
|
|
max_length=max_length,
|
|
regex=regex,
|
|
example=example,
|
|
examples=examples,
|
|
deprecated=deprecated,
|
|
include_in_schema=include_in_schema,
|
|
**extra,
|
|
)
|
|
|
|
|
|
def Cookie( # noqa: N802
|
|
default: Any = Undefined,
|
|
*,
|
|
alias: Optional[str] = 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,
|
|
regex: Optional[str] = None,
|
|
example: Any = Undefined,
|
|
examples: Optional[Dict[str, Any]] = None,
|
|
deprecated: Optional[bool] = None,
|
|
include_in_schema: bool = True,
|
|
**extra: Any,
|
|
) -> Any:
|
|
return params.Cookie(
|
|
default=default,
|
|
alias=alias,
|
|
title=title,
|
|
description=description,
|
|
gt=gt,
|
|
ge=ge,
|
|
lt=lt,
|
|
le=le,
|
|
min_length=min_length,
|
|
max_length=max_length,
|
|
regex=regex,
|
|
example=example,
|
|
examples=examples,
|
|
deprecated=deprecated,
|
|
include_in_schema=include_in_schema,
|
|
**extra,
|
|
)
|
|
|
|
|
|
def Body( # noqa: N802
|
|
default: Any = Undefined,
|
|
*,
|
|
embed: bool = False,
|
|
media_type: str = "application/json",
|
|
alias: Optional[str] = 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,
|
|
regex: Optional[str] = None,
|
|
example: Any = Undefined,
|
|
examples: Optional[Dict[str, Any]] = None,
|
|
**extra: Any,
|
|
) -> Any:
|
|
return params.Body(
|
|
default=default,
|
|
embed=embed,
|
|
media_type=media_type,
|
|
alias=alias,
|
|
title=title,
|
|
description=description,
|
|
gt=gt,
|
|
ge=ge,
|
|
lt=lt,
|
|
le=le,
|
|
min_length=min_length,
|
|
max_length=max_length,
|
|
regex=regex,
|
|
example=example,
|
|
examples=examples,
|
|
**extra,
|
|
)
|
|
|
|
|
|
def Form( # noqa: N802
|
|
default: Any = Undefined,
|
|
*,
|
|
media_type: str = "application/x-www-form-urlencoded",
|
|
alias: Optional[str] = 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,
|
|
regex: Optional[str] = None,
|
|
example: Any = Undefined,
|
|
examples: Optional[Dict[str, Any]] = None,
|
|
**extra: Any,
|
|
) -> Any:
|
|
return params.Form(
|
|
default=default,
|
|
media_type=media_type,
|
|
alias=alias,
|
|
title=title,
|
|
description=description,
|
|
gt=gt,
|
|
ge=ge,
|
|
lt=lt,
|
|
le=le,
|
|
min_length=min_length,
|
|
max_length=max_length,
|
|
regex=regex,
|
|
example=example,
|
|
examples=examples,
|
|
**extra,
|
|
)
|
|
|
|
|
|
def File( # noqa: N802
|
|
default: Any = Undefined,
|
|
*,
|
|
media_type: str = "multipart/form-data",
|
|
alias: Optional[str] = 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,
|
|
regex: Optional[str] = None,
|
|
example: Any = Undefined,
|
|
examples: Optional[Dict[str, Any]] = None,
|
|
**extra: Any,
|
|
) -> Any:
|
|
return params.File(
|
|
default=default,
|
|
media_type=media_type,
|
|
alias=alias,
|
|
title=title,
|
|
description=description,
|
|
gt=gt,
|
|
ge=ge,
|
|
lt=lt,
|
|
le=le,
|
|
min_length=min_length,
|
|
max_length=max_length,
|
|
regex=regex,
|
|
example=example,
|
|
examples=examples,
|
|
**extra,
|
|
)
|
|
|
|
|
|
T = TypeVar("T")
|
|
|
|
|
|
@overload
|
|
def Depends( # noqa: N802
|
|
dependency: None = None,
|
|
*,
|
|
use_cache: bool = True,
|
|
) -> Any: # pragma: nocover
|
|
pass
|
|
|
|
|
|
@overload
|
|
def Depends( # noqa: N802
|
|
dependency: Callable[..., Awaitable[T]],
|
|
*,
|
|
use_cache: bool = True,
|
|
) -> T: # pragma: nocover
|
|
pass
|
|
|
|
|
|
@overload
|
|
def Depends( # noqa: N802
|
|
dependency: Callable[..., Iterator[T]],
|
|
*,
|
|
use_cache: bool = True,
|
|
) -> T: # pragma: nocover
|
|
pass
|
|
|
|
|
|
@overload
|
|
def Depends( # noqa: N802
|
|
dependency: Callable[..., AsyncIterator[T]],
|
|
*,
|
|
use_cache: bool = True,
|
|
) -> T: # pragma: nocover
|
|
pass
|
|
|
|
|
|
@overload
|
|
def Depends( # noqa: N802
|
|
dependency: Callable[..., T],
|
|
*,
|
|
use_cache: bool = True,
|
|
) -> T: # pragma: nocover
|
|
pass
|
|
|
|
|
|
def Depends( # noqa: N802
|
|
dependency: Optional[Callable[..., Any]] = None, *, use_cache: bool = True
|
|
) -> Any:
|
|
return params.Depends(dependency=dependency, use_cache=use_cache)
|
|
|
|
|
|
@overload
|
|
def Security( # noqa: N802
|
|
dependency: None = None,
|
|
*,
|
|
scopes: Optional[Sequence[str]] = None,
|
|
use_cache: bool = True,
|
|
) -> Any: # pragma: nocover
|
|
pass
|
|
|
|
|
|
@overload
|
|
def Security( # noqa: N802
|
|
dependency: Callable[..., Awaitable[T]],
|
|
*,
|
|
scopes: Optional[Sequence[str]] = None,
|
|
use_cache: bool = True,
|
|
) -> T: # pragma: nocover
|
|
pass
|
|
|
|
|
|
@overload
|
|
def Security( # noqa: N802
|
|
dependency: Callable[..., Iterator[T]],
|
|
*,
|
|
scopes: Optional[Sequence[str]] = None,
|
|
use_cache: bool = True,
|
|
) -> T: # pragma: nocover
|
|
pass
|
|
|
|
|
|
@overload
|
|
def Security( # noqa: N802
|
|
dependency: Callable[..., AsyncIterator[T]],
|
|
*,
|
|
scopes: Optional[Sequence[str]] = None,
|
|
use_cache: bool = True,
|
|
) -> T: # pragma: nocover
|
|
pass
|
|
|
|
|
|
@overload
|
|
def Security( # noqa: N802
|
|
dependency: Callable[..., T],
|
|
*,
|
|
scopes: Optional[Sequence[str]] = None,
|
|
use_cache: bool = True,
|
|
) -> T: # pragma: nocover
|
|
pass
|
|
|
|
|
|
def Security( # noqa: N802
|
|
dependency: Optional[Callable[..., Any]] = None,
|
|
*,
|
|
scopes: Optional[Sequence[str]] = None,
|
|
use_cache: bool = True,
|
|
) -> Any:
|
|
return params.Security(dependency=dependency, scopes=scopes, use_cache=use_cache)
|
|
|