@@ -65,7 +65,7 @@ async def add_datasource(request: fastapi.Request, call_next):
6565 request .state .source = source
6666
6767 # Move on...
68- LOGGER .info (f'source: { source .__class__ .__name__ } ' )
68+ LOGGER .info (f'source provided : { source .__class__ .__name__ } ' )
6969 response = await call_next (request )
7070 return response
7171
@@ -92,7 +92,7 @@ async def handle_validation_error(
9292V2 = fastapi .APIRouter ()
9393
9494
95- @V2 .get ('/latest' , response_model = models .Latest )
95+ @V2 .get ('/latest' , response_model = models .LatestResponse )
9696def get_latest (request : fastapi .Request , source : Sources = 'jhu' ):
9797 """
9898 Getting latest amount of total confirmed cases, deaths, and recoveries.
@@ -101,20 +101,20 @@ def get_latest(request: fastapi.Request, source: Sources = 'jhu'):
101101 return {
102102 'latest' : {
103103 'confirmed' : sum (map (lambda location : location .confirmed , locations )),
104- 'deaths' : sum (map (lambda location : location .deaths , locations )),
104+ 'deaths' : sum (map (lambda location : location .deaths , locations )),
105105 'recovered' : sum (map (lambda location : location .recovered , locations )),
106106 }
107107 }
108108
109109
110110@V2 .get (
111- '/locations' , response_model = models .Locations , response_model_exclude_unset = True
111+ '/locations' , response_model = models .LocationsResponse , response_model_exclude_unset = True
112112)
113113def get_locations (
114114 request : fastapi .Request ,
115+ source : Sources = 'jhu' ,
115116 country_code : str = None ,
116117 timelines : bool = False ,
117- source : Sources = 'jhu' ,
118118):
119119 """
120120 Getting the locations.
@@ -126,23 +126,23 @@ def get_locations(
126126 if country_code :
127127 locations = list (
128128 filter (
129- lambda location : location .country_code == country_code .upper (),
130- locations ,
129+ lambda location : location .country_code == country_code .upper (), locations ,
131130 )
132131 )
133- # FIXME: timelines are not showing up
132+
133+ # Return final serialized data.
134134 return {
135135 'latest' : {
136136 'confirmed' : sum (map (lambda location : location .confirmed , locations )),
137- 'deaths' : sum (map (lambda location : location .deaths , locations )),
137+ 'deaths' : sum (map (lambda location : location .deaths , locations )),
138138 'recovered' : sum (map (lambda location : location .recovered , locations )),
139139 },
140140 'locations' : [location .serialize (timelines ) for location in locations ],
141141 }
142142
143143
144- @V2 .get ('/locations/{id}' , response_model = models .Location )
145- def get_location_by_id (request : fastapi .Request , id : int , timelines : bool = True ):
144+ @V2 .get ('/locations/{id}' , response_model = models .LocationResponse )
145+ def get_location_by_id (request : fastapi .Request , id : int , source : Sources = 'jhu' , timelines : bool = True ):
146146 """
147147 Getting specific location by id.
148148 """
0 commit comments