diff --git a/src/api/v2/city_api.py b/src/api/v2/city_api.py index 6bf8b41..6a4f0b0 100644 --- a/src/api/v2/city_api.py +++ b/src/api/v2/city_api.py @@ -12,7 +12,7 @@ class CityAPI: """ self.__fetcher, self.__formatter = fetcher, formatter - async def get_objects(self) -> dict: + async def get_dict(self): endpoint = "/api/v2/cities" status, json_data = await self.__fetcher.fetch_json(endpoint) @@ -22,8 +22,21 @@ class CityAPI: 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: - response = await self.get_objects() + response = await self.get_dict() match response: case {"ok": json_data}: @@ -32,3 +45,13 @@ class CityAPI: case {"error": 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 +