Add methods to select a city and return message.

This commit is contained in:
2023-06-20 15:12:49 +03:00
parent 5eeaf1ee67
commit 385e13f7e7
+25 -2
View File
@@ -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