Skip to content

Commit 21e1cdf

Browse files
committed
🎨 refactor(DataMart): move openapi docs to __init__.py
1 parent 98ed1ac commit 21e1cdf

File tree

2 files changed

+58
-39
lines changed

2 files changed

+58
-39
lines changed

app/routes/datamart/__init__.py

+56
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
OPENAPI_EXTRA = {
2+
"parameters": [
3+
{
4+
"name": "aoi",
5+
"in": "query",
6+
"required": True,
7+
"style": "deepObject",
8+
"explode": True,
9+
"examples": {
10+
"Geostore Area Of Interest": {
11+
"summary": "Geostore Area Of Interest",
12+
"description": "Custom area",
13+
"value": {
14+
"type": "geostore",
15+
"geostore_id": "637d378f-93a9-4364-bfa8-95b6afd28c3a",
16+
}
17+
},
18+
"Admin Area Of Interest": {
19+
"summary": "Admin Area Of Interest",
20+
"description": "Administrative Boundary",
21+
"value": {
22+
"type": "admin",
23+
"country": "BRA",
24+
"region": "12",
25+
"subregion": "2",
26+
}
27+
}
28+
},
29+
"description": "The Area of Interest",
30+
"schema": {
31+
"oneOf": [
32+
{"$ref": "#/components/schemas/GeostoreAreaOfInterest"},
33+
{"$ref": "#/components/schemas/AdminAreaOfInterest"},
34+
]
35+
}
36+
},
37+
{
38+
"name": "dataset_version",
39+
"in": "query",
40+
"required": False,
41+
"style": "deepObject",
42+
"explode": True,
43+
"schema": {
44+
"type": "object",
45+
"additionalProperties": {"type": "string"},
46+
},
47+
"example": {
48+
"umd_tree_cover_loss": "v1.11",
49+
"tsc_tree_cover_loss_drivers": "v2023",
50+
},
51+
"description": (
52+
"Pass dataset version overrides as bracketed query parameters.",
53+
)
54+
}
55+
]
56+
}

app/routes/datamart/land.py

+2-39
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@
4040
compute_tree_cover_loss_by_driver,
4141
)
4242
from app.utils.geostore import get_geostore
43+
from . import OPENAPI_EXTRA
4344

4445
from ...authentication.api_keys import get_api_key
4546

@@ -95,45 +96,7 @@ def _parse_area_of_interest(request: Request) -> AreaOfInterest:
9596
response_model=DataMartResourceLinkResponse,
9697
tags=["Land"],
9798
status_code=200,
98-
openapi_extra={
99-
"parameters": [
100-
{
101-
"name": "aoi",
102-
"in": "query",
103-
"required": True,
104-
"style": "deepObject",
105-
"explode": True,
106-
"example": {
107-
"geostore_id": "637d378f-93a9-4364-bfa8-95b6afd28c3a",
108-
},
109-
"description": "The Area of Interest",
110-
"schema": {
111-
"oneOf": [
112-
{"$ref": "#/components/schemas/GeostoreAreaOfInterest"},
113-
{"$ref": "#/components/schemas/AdminAreaOfInterest"},
114-
]
115-
}
116-
},
117-
{
118-
"name": "dataset_version",
119-
"in": "query",
120-
"required": False,
121-
"style": "deepObject",
122-
"explode": True,
123-
"schema": {
124-
"type": "object",
125-
"additionalProperties": {"type": "string"},
126-
},
127-
"example": {
128-
"umd_tree_cover_loss": "v1.11",
129-
"tsc_tree_cover_loss_drivers": "v2023",
130-
},
131-
"description": (
132-
"Pass dataset version overrides as bracketed query parameters.",
133-
)
134-
}
135-
]
136-
},
99+
openapi_extra= OPENAPI_EXTRA,
137100
)
138101
async def tree_cover_loss_by_driver_search(
139102
*,

0 commit comments

Comments
 (0)