diff --git a/app/data/__init__.py b/app/data/__init__.py index 60a75dac..2f32d280 100644 --- a/app/data/__init__.py +++ b/app/data/__init__.py @@ -2,12 +2,13 @@ from ..services.location.csbs import CSBSLocationService from ..services.location.jhu import JhuLocationService from ..services.location.nyt import NYTLocationService +from ..utils.source_enum import SourceEnum # Mapping of services to data-sources. DATA_SOURCES = { - "jhu": JhuLocationService(), - "csbs": CSBSLocationService(), - "nyt": NYTLocationService(), + SourceEnum.JHU: JhuLocationService(), + SourceEnum.CSBS: CSBSLocationService(), + SourceEnum.NYT: NYTLocationService(), } diff --git a/app/routers/v2.py b/app/routers/v2.py index 31eb408c..b424aaba 100644 --- a/app/routers/v2.py +++ b/app/routers/v2.py @@ -5,7 +5,7 @@ from ..data import DATA_SOURCES from ..models import LatestResponse, LocationResponse, LocationsResponse - +from ..utils.source_enum import SourceEnum V2 = APIRouter() @@ -14,14 +14,10 @@ class Sources(str, enum.Enum): A source available for retrieving data. """ - JHU = "jhu" - CSBS = "csbs" - NYT = "nyt" - @V2.get("/latest", response_model=LatestResponse) async def get_latest( - request: Request, source: Sources = Sources.JHU + request: Request, source: Sources = SourceEnum.JHU ): # pylint: disable=unused-argument """ Getting latest amount of total confirmed cases, deaths, and recoveries. @@ -93,7 +89,7 @@ async def get_locations( # pylint: disable=invalid-name @V2.get("/locations/{id}", response_model=LocationResponse) async def get_location_by_id( - request: Request, id: int, source: Sources = Sources.JHU, timelines: bool = True + request: Request, id: int, source: Sources = SourceEnum.JHU, timelines: bool = True ): """ Getting specific location by id. diff --git a/app/utils/source_enum.py b/app/utils/source_enum.py new file mode 100644 index 00000000..ad0a6e78 --- /dev/null +++ b/app/utils/source_enum.py @@ -0,0 +1,4 @@ +class SourceEnum(Enum): + JHU = "jhu" + CSBS = "csbs" + NYT = "nyt"