mirror of https://github.com/tiangolo/fastapi.git
✨ Add param functions, to override types, to make mypy happy (#226)
This commit is contained in:
parent
ce02d3cb83
commit
ca27317b65
|
|
@ -7,5 +7,15 @@ from starlette.background import BackgroundTasks
|
||||||
from .applications import FastAPI
|
from .applications import FastAPI
|
||||||
from .datastructures import UploadFile
|
from .datastructures import UploadFile
|
||||||
from .exceptions import HTTPException
|
from .exceptions import HTTPException
|
||||||
from .params import Body, Cookie, Depends, File, Form, Header, Path, Query, Security
|
from .param_functions import (
|
||||||
|
Body,
|
||||||
|
Cookie,
|
||||||
|
Depends,
|
||||||
|
File,
|
||||||
|
Form,
|
||||||
|
Header,
|
||||||
|
Path,
|
||||||
|
Query,
|
||||||
|
Security,
|
||||||
|
)
|
||||||
from .routing import APIRouter
|
from .routing import APIRouter
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ def get_sub_dependant(
|
||||||
dependency_scopes = depends.scopes
|
dependency_scopes = depends.scopes
|
||||||
security_scopes.extend(dependency_scopes)
|
security_scopes.extend(dependency_scopes)
|
||||||
if isinstance(dependency, SecurityBase):
|
if isinstance(dependency, SecurityBase):
|
||||||
use_scopes = []
|
use_scopes: List[str] = []
|
||||||
if isinstance(dependency, (OAuth2, OpenIdConnect)):
|
if isinstance(dependency, (OAuth2, OpenIdConnect)):
|
||||||
use_scopes = security_scopes
|
use_scopes = security_scopes
|
||||||
security_requirement = SecurityRequirement(
|
security_requirement = SecurityRequirement(
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,248 @@
|
||||||
|
from typing import Any, Callable, Sequence
|
||||||
|
|
||||||
|
from fastapi import params
|
||||||
|
|
||||||
|
|
||||||
|
def Path( # noqa: N802
|
||||||
|
default: Any,
|
||||||
|
*,
|
||||||
|
alias: str = None,
|
||||||
|
title: str = None,
|
||||||
|
description: str = None,
|
||||||
|
gt: float = None,
|
||||||
|
ge: float = None,
|
||||||
|
lt: float = None,
|
||||||
|
le: float = None,
|
||||||
|
min_length: int = None,
|
||||||
|
max_length: int = None,
|
||||||
|
regex: str = None,
|
||||||
|
deprecated: bool = None,
|
||||||
|
**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,
|
||||||
|
deprecated=deprecated,
|
||||||
|
**extra,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def Query( # noqa: N802
|
||||||
|
default: Any,
|
||||||
|
*,
|
||||||
|
alias: str = None,
|
||||||
|
title: str = None,
|
||||||
|
description: str = None,
|
||||||
|
gt: float = None,
|
||||||
|
ge: float = None,
|
||||||
|
lt: float = None,
|
||||||
|
le: float = None,
|
||||||
|
min_length: int = None,
|
||||||
|
max_length: int = None,
|
||||||
|
regex: str = None,
|
||||||
|
deprecated: bool = None,
|
||||||
|
**extra: Any,
|
||||||
|
) -> Any:
|
||||||
|
return params.Query(
|
||||||
|
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,
|
||||||
|
deprecated=deprecated,
|
||||||
|
**extra,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def Header( # noqa: N802
|
||||||
|
default: Any,
|
||||||
|
*,
|
||||||
|
alias: str = None,
|
||||||
|
convert_underscores: bool = True,
|
||||||
|
title: str = None,
|
||||||
|
description: str = None,
|
||||||
|
gt: float = None,
|
||||||
|
ge: float = None,
|
||||||
|
lt: float = None,
|
||||||
|
le: float = None,
|
||||||
|
min_length: int = None,
|
||||||
|
max_length: int = None,
|
||||||
|
regex: str = None,
|
||||||
|
deprecated: bool = None,
|
||||||
|
**extra: Any,
|
||||||
|
) -> Any:
|
||||||
|
return params.Header(
|
||||||
|
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,
|
||||||
|
deprecated=deprecated,
|
||||||
|
**extra,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def Cookie( # noqa: N802
|
||||||
|
default: Any,
|
||||||
|
*,
|
||||||
|
alias: str = None,
|
||||||
|
title: str = None,
|
||||||
|
description: str = None,
|
||||||
|
gt: float = None,
|
||||||
|
ge: float = None,
|
||||||
|
lt: float = None,
|
||||||
|
le: float = None,
|
||||||
|
min_length: int = None,
|
||||||
|
max_length: int = None,
|
||||||
|
regex: str = None,
|
||||||
|
deprecated: bool = None,
|
||||||
|
**extra: Any,
|
||||||
|
) -> Any:
|
||||||
|
return params.Cookie(
|
||||||
|
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,
|
||||||
|
deprecated=deprecated,
|
||||||
|
**extra,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def Body( # noqa: N802
|
||||||
|
default: Any,
|
||||||
|
*,
|
||||||
|
embed: bool = False,
|
||||||
|
media_type: str = "application/json",
|
||||||
|
alias: str = None,
|
||||||
|
title: str = None,
|
||||||
|
description: str = None,
|
||||||
|
gt: float = None,
|
||||||
|
ge: float = None,
|
||||||
|
lt: float = None,
|
||||||
|
le: float = None,
|
||||||
|
min_length: int = None,
|
||||||
|
max_length: int = None,
|
||||||
|
regex: str = None,
|
||||||
|
**extra: Any,
|
||||||
|
) -> Any:
|
||||||
|
return params.Body(
|
||||||
|
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,
|
||||||
|
**extra,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def Form( # noqa: N802
|
||||||
|
default: Any,
|
||||||
|
*,
|
||||||
|
media_type: str = "application/x-www-form-urlencoded",
|
||||||
|
alias: str = None,
|
||||||
|
title: str = None,
|
||||||
|
description: str = None,
|
||||||
|
gt: float = None,
|
||||||
|
ge: float = None,
|
||||||
|
lt: float = None,
|
||||||
|
le: float = None,
|
||||||
|
min_length: int = None,
|
||||||
|
max_length: int = None,
|
||||||
|
regex: str = None,
|
||||||
|
**extra: Any,
|
||||||
|
) -> Any:
|
||||||
|
return params.Form(
|
||||||
|
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,
|
||||||
|
**extra,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def File( # noqa: N802
|
||||||
|
default: Any,
|
||||||
|
*,
|
||||||
|
media_type: str = "multipart/form-data",
|
||||||
|
alias: str = None,
|
||||||
|
title: str = None,
|
||||||
|
description: str = None,
|
||||||
|
gt: float = None,
|
||||||
|
ge: float = None,
|
||||||
|
lt: float = None,
|
||||||
|
le: float = None,
|
||||||
|
min_length: int = None,
|
||||||
|
max_length: int = None,
|
||||||
|
regex: str = None,
|
||||||
|
**extra: Any,
|
||||||
|
) -> Any:
|
||||||
|
return params.File(
|
||||||
|
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,
|
||||||
|
**extra,
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def Depends(dependency: Callable = None) -> Any: # noqa: N802
|
||||||
|
return params.Depends(dependency=dependency)
|
||||||
|
|
||||||
|
|
||||||
|
def Security( # noqa: N802
|
||||||
|
dependency: Callable = None, scopes: Sequence[str] = None
|
||||||
|
) -> Any:
|
||||||
|
return params.Security(dependency=dependency, scopes=scopes)
|
||||||
Loading…
Reference in New Issue