diff --git a/app/core/entities/city.py b/app/core/entities/city.py index 866da59..c14292f 100644 --- a/app/core/entities/city.py +++ b/app/core/entities/city.py @@ -5,6 +5,8 @@ from typing import Optional class CityEntity(BaseModel): id: Optional[int] = None name: str + x_coordinate: Optional[float] = None + y_coordinate: Optional[float] = None federal_district_id: Optional[int] = None federal_district_name: Optional[str] = None diff --git a/app/core/usecases/city_service.py b/app/core/usecases/city_service.py index 58b8380..f55fa03 100644 --- a/app/core/usecases/city_service.py +++ b/app/core/usecases/city_service.py @@ -18,7 +18,9 @@ class CitiesService: id=c.id, name=c.name, federal_district_id=c.federal_district_id, - federal_district_name=c.federal_district.name + federal_district_name=c.federal_district.name, + x_coordinate=c.x_coordinate, + y_coordinate=c.y_coordinate, ) for c in cities ] @@ -29,19 +31,24 @@ class CitiesService: return CityEntity( id=city.id, name=city.name, - federal_district_id=city.federal_district_id + x_coordinate=city.x_coordinate, + y_coordinate=city.y_coordinate, + federal_district_id=city.federal_district_id, ) return None def create_city(self, entity: CityEntity) -> CityEntity: city_model = City( name=entity.name, - federal_district_id=entity.federal_district_id + x_coordinate=entity.x_coordinate, + federal_district_id=entity.federal_district_id, ) created_city = self.repository.create(city_model) return CityEntity( id=created_city.id, name=created_city.name, + x_coordinate=created_city.x_coordinate, + y_coordinate=created_city.y_coordinate, federal_district_id=created_city.federal_district_id ) @@ -54,6 +61,8 @@ class CitiesService: return CityEntity( id=city_model.id, name=city_model.name, + x_coordinate=city_model.x_coordinate, + y_coordinate=city_model.y_coordinate, federal_district_id=city_model.federal_district_id ) return None diff --git a/app/infrastructure/database/models/cities.py b/app/infrastructure/database/models/cities.py index a4d3b91..ae86b25 100644 --- a/app/infrastructure/database/models/cities.py +++ b/app/infrastructure/database/models/cities.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, Integer, VARCHAR, ForeignKey +from sqlalchemy import Column, Integer, VARCHAR, ForeignKey, Float from sqlalchemy.orm import relationship from app.infrastructure.database.models import Base @@ -9,6 +9,8 @@ class City(Base): id = Column(Integer, primary_key=True, autoincrement=True) name = Column(VARCHAR(100), nullable=False) + x_coordinate = Column(Float) + y_coordinate = Column(Float) federal_district_id = Column(Integer, ForeignKey('federal_districts.id'))