282 lines
7.3 KiB
Python
282 lines
7.3 KiB
Python
# Yeah, this is a bit strange
|
|
# but the whole point of this module is to make mypy and typehints happy
|
|
# what it basically does makes function XXX that create instance of models.XXX
|
|
# and annotates function with result = Any
|
|
# idea from https://github.com/tiangolo/fastapi/blob/master/fastapi/param_functions.py
|
|
from typing import Any, Dict, Optional, Pattern, Union
|
|
|
|
from ninja.params import models
|
|
|
|
|
|
def Path( # noqa: N802
|
|
default: Any = ...,
|
|
*,
|
|
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,
|
|
pattern: Union[str, Pattern[str], None] = None,
|
|
example: Any = None,
|
|
examples: Optional[Dict[str, Any]] = None,
|
|
deprecated: Optional[bool] = None,
|
|
include_in_schema: bool = True,
|
|
**extra: Any,
|
|
) -> Any:
|
|
return models.Path(
|
|
default,
|
|
alias=alias,
|
|
title=title,
|
|
description=description,
|
|
gt=gt,
|
|
ge=ge,
|
|
lt=lt,
|
|
le=le,
|
|
min_length=min_length,
|
|
max_length=max_length,
|
|
pattern=pattern,
|
|
example=example,
|
|
examples=examples,
|
|
deprecated=deprecated,
|
|
include_in_schema=include_in_schema,
|
|
**extra,
|
|
)
|
|
|
|
|
|
def Query( # noqa: N802
|
|
default: Any = ...,
|
|
*,
|
|
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,
|
|
pattern: Union[str, Pattern[str], None] = None,
|
|
example: Any = None,
|
|
examples: Optional[Dict[str, Any]] = None,
|
|
deprecated: Optional[bool] = None,
|
|
include_in_schema: bool = True,
|
|
**extra: Any,
|
|
) -> Any:
|
|
return models.Query(
|
|
default,
|
|
alias=alias,
|
|
title=title,
|
|
description=description,
|
|
gt=gt,
|
|
ge=ge,
|
|
lt=lt,
|
|
le=le,
|
|
min_length=min_length,
|
|
max_length=max_length,
|
|
pattern=pattern,
|
|
example=example,
|
|
examples=examples,
|
|
deprecated=deprecated,
|
|
include_in_schema=include_in_schema,
|
|
**extra,
|
|
)
|
|
|
|
|
|
def Header( # noqa: N802
|
|
default: Any = ...,
|
|
*,
|
|
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,
|
|
pattern: Union[str, Pattern[str], None] = None,
|
|
example: Any = None,
|
|
examples: Optional[Dict[str, Any]] = None,
|
|
deprecated: Optional[bool] = None,
|
|
include_in_schema: bool = True,
|
|
**extra: Any,
|
|
) -> Any:
|
|
return models.Header(
|
|
default,
|
|
alias=alias,
|
|
title=title,
|
|
description=description,
|
|
gt=gt,
|
|
ge=ge,
|
|
lt=lt,
|
|
le=le,
|
|
min_length=min_length,
|
|
max_length=max_length,
|
|
pattern=pattern,
|
|
example=example,
|
|
examples=examples,
|
|
deprecated=deprecated,
|
|
include_in_schema=include_in_schema,
|
|
**extra,
|
|
)
|
|
|
|
|
|
def Cookie( # noqa: N802
|
|
default: Any = ...,
|
|
*,
|
|
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,
|
|
pattern: Union[str, Pattern[str], None] = None,
|
|
example: Any = None,
|
|
examples: Optional[Dict[str, Any]] = None,
|
|
deprecated: Optional[bool] = None,
|
|
include_in_schema: bool = True,
|
|
**extra: Any,
|
|
) -> Any:
|
|
return models.Cookie(
|
|
default,
|
|
alias=alias,
|
|
title=title,
|
|
description=description,
|
|
gt=gt,
|
|
ge=ge,
|
|
lt=lt,
|
|
le=le,
|
|
min_length=min_length,
|
|
max_length=max_length,
|
|
pattern=pattern,
|
|
example=example,
|
|
examples=examples,
|
|
deprecated=deprecated,
|
|
include_in_schema=include_in_schema,
|
|
**extra,
|
|
)
|
|
|
|
|
|
def Body( # noqa: N802
|
|
default: Any = ...,
|
|
*,
|
|
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,
|
|
pattern: Union[str, Pattern[str], None] = None,
|
|
example: Any = None,
|
|
examples: Optional[Dict[str, Any]] = None,
|
|
deprecated: Optional[bool] = None,
|
|
include_in_schema: bool = True,
|
|
**extra: Any,
|
|
) -> Any:
|
|
return models.Body(
|
|
default,
|
|
alias=alias,
|
|
title=title,
|
|
description=description,
|
|
gt=gt,
|
|
ge=ge,
|
|
lt=lt,
|
|
le=le,
|
|
min_length=min_length,
|
|
max_length=max_length,
|
|
pattern=pattern,
|
|
example=example,
|
|
examples=examples,
|
|
deprecated=deprecated,
|
|
include_in_schema=include_in_schema,
|
|
**extra,
|
|
)
|
|
|
|
|
|
def Form( # noqa: N802
|
|
default: Any = ...,
|
|
*,
|
|
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,
|
|
pattern: Union[str, Pattern[str], None] = None,
|
|
example: Any = None,
|
|
examples: Optional[Dict[str, Any]] = None,
|
|
deprecated: Optional[bool] = None,
|
|
include_in_schema: bool = True,
|
|
**extra: Any,
|
|
) -> Any:
|
|
return models.Form(
|
|
default,
|
|
alias=alias,
|
|
title=title,
|
|
description=description,
|
|
gt=gt,
|
|
ge=ge,
|
|
lt=lt,
|
|
le=le,
|
|
min_length=min_length,
|
|
max_length=max_length,
|
|
pattern=pattern,
|
|
example=example,
|
|
examples=examples,
|
|
deprecated=deprecated,
|
|
include_in_schema=include_in_schema,
|
|
**extra,
|
|
)
|
|
|
|
|
|
def File( # noqa: N802
|
|
default: Any = ...,
|
|
*,
|
|
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,
|
|
pattern: Union[str, Pattern[str], None] = None,
|
|
example: Any = None,
|
|
examples: Optional[Dict[str, Any]] = None,
|
|
deprecated: Optional[bool] = None,
|
|
include_in_schema: bool = True,
|
|
**extra: Any,
|
|
) -> Any:
|
|
return models.File(
|
|
default,
|
|
alias=alias,
|
|
title=title,
|
|
description=description,
|
|
gt=gt,
|
|
ge=ge,
|
|
lt=lt,
|
|
le=le,
|
|
min_length=min_length,
|
|
max_length=max_length,
|
|
pattern=pattern,
|
|
example=example,
|
|
examples=examples,
|
|
deprecated=deprecated,
|
|
include_in_schema=include_in_schema,
|
|
**extra,
|
|
)
|