Add methods to select a city and return message.
This commit is contained in:
+25
-2
@@ -12,7 +12,7 @@ class CityAPI:
|
|||||||
"""
|
"""
|
||||||
self.__fetcher, self.__formatter = fetcher, formatter
|
self.__fetcher, self.__formatter = fetcher, formatter
|
||||||
|
|
||||||
async def get_objects(self) -> dict:
|
async def get_dict(self):
|
||||||
endpoint = "/api/v2/cities"
|
endpoint = "/api/v2/cities"
|
||||||
|
|
||||||
status, json_data = await self.__fetcher.fetch_json(endpoint)
|
status, json_data = await self.__fetcher.fetch_json(endpoint)
|
||||||
@@ -22,8 +22,21 @@ class CityAPI:
|
|||||||
|
|
||||||
return {"error": "Сталася помилка, спробуйте пізніше."}
|
return {"error": "Сталася помилка, спробуйте пізніше."}
|
||||||
|
|
||||||
|
async def select_obj(self, city_name: str, username: str):
|
||||||
|
endpoint = "/api/v2/select-city"
|
||||||
|
|
||||||
|
status, json_data = await self.__fetcher.send_json(endpoint, {
|
||||||
|
'cityName': city_name,
|
||||||
|
'matrixUsername': username,
|
||||||
|
})
|
||||||
|
|
||||||
|
if status == 200:
|
||||||
|
return {"ok": json_data}
|
||||||
|
|
||||||
|
return {"error": "Сталася помилка, спробуйте пізніше."}
|
||||||
|
|
||||||
async def get_objects_message(self) -> str:
|
async def get_objects_message(self) -> str:
|
||||||
response = await self.get_objects()
|
response = await self.get_dict()
|
||||||
|
|
||||||
match response:
|
match response:
|
||||||
case {"ok": json_data}:
|
case {"ok": json_data}:
|
||||||
@@ -32,3 +45,13 @@ class CityAPI:
|
|||||||
case {"error": error_message}:
|
case {"error": error_message}:
|
||||||
return error_message
|
return error_message
|
||||||
|
|
||||||
|
async def select_object_message(self, city_name: str, username: str) -> str:
|
||||||
|
response = await self.select_obj(city_name, username)
|
||||||
|
|
||||||
|
match response:
|
||||||
|
case {"ok": json_data}:
|
||||||
|
return 'Місто обрано'
|
||||||
|
|
||||||
|
case {"error": error_message}:
|
||||||
|
return error_message
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user