from typing import Optional from services.territory.territories_repository import TerritoriesRepository from services.territory.constants import GLOBAL_TERRITORY_ID from utils.exceptions import BadRequest class TerritoriesService: territories_repository = TerritoriesRepository() def get_country_code_for_delphi_api(self, territory_id: Optional[int], global_value=None) -> Optional[str]: # we don't need the parameter if we have our filter in "worldwide" if territory_id == GLOBAL_TERRITORY_ID: return global_value territory = self.territories_repository.get_territory_by_id(territory_id) if territory is None: raise BadRequest("Invalid territory id") return territory.code.lower()