Simplify query_parameter_as_list

And render the repeated parameter input in the docs.
The first parameter can be a comma-separated list of values
This commit is contained in:
davelopez
2022-08-19 12:30:53 +02:00
parent 1d59487365
commit 1545b9da99
2 changed files with 10 additions and 11 deletions
+6 -7
View File
@@ -153,7 +153,7 @@ def query_parameter_as_list(query):
Usage example:
```python
ValueQueryParam: Optional[str] = Query(
ValueQueryParam = Query(
default=None,
alias="value", # Important! this is the parameter name that will be displayed in the API docs
title="My Value",
@@ -174,13 +174,12 @@ def query_parameter_as_list(query):
"""
def parse_elements(
element: str = query,
elements: Optional[List[str]] = Query(default=None, alias=query.alias, include_in_schema=False),
elements: Optional[List[str]] = query,
) -> Optional[List[Any]]:
if query.default != Ellipsis and element is None and not elements:
if query.default != Ellipsis and not elements:
return query.default
if elements and len(elements) > 1:
return elements
return listify(element)
if elements and len(elements) == 1:
return listify(elements[0])
return elements
return parse_elements
+4 -4
View File
@@ -69,11 +69,11 @@ log = logging.getLogger(__name__)
router = Router(tags=["jobs"])
StateQueryParam: Optional[str] = Query(
StateQueryParam = Query(
default=None,
alias="state",
title="States",
description="Comma-separated list of states to filter job query on. If unspecified, jobs of any state may be returned.",
description="A list or comma-separated list of states to filter job query on. If unspecified, jobs of any state may be returned.",
)
UserDetailsQueryParam: bool = Query(
@@ -95,7 +95,7 @@ ViewQueryParam: JobIndexViewEnum = Query(
)
ToolIdQueryParam: Optional[str] = Query(
ToolIdQueryParam = Query(
default=None,
alias="tool_id",
title="Tool ID(s)",
@@ -103,7 +103,7 @@ ToolIdQueryParam: Optional[str] = Query(
)
ToolIdLikeQueryParam: Optional[str] = Query(
ToolIdLikeQueryParam = Query(
default=None,
alias="tool_id_like",
title="Tool ID Pattern(s)",