._.
This commit is contained in:
parent
01df26b502
commit
ce4b56ca32
@ -9,6 +9,7 @@ class AccessoryEntity(BaseModel):
|
|||||||
weight: Optional[float] = None
|
weight: Optional[float] = None
|
||||||
period: Optional[int] = None
|
period: Optional[int] = None
|
||||||
city_id: Optional[int] = None
|
city_id: Optional[int] = None
|
||||||
|
city_name: Optional[str] = None
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
from_attributes = True
|
from_attributes = True
|
||||||
|
|||||||
@ -12,7 +12,7 @@ class AccessoriesService:
|
|||||||
self.repository = AccessoriesRepository(db)
|
self.repository = AccessoriesRepository(db)
|
||||||
|
|
||||||
def get_all_accessories(self) -> List[AccessoryEntity]:
|
def get_all_accessories(self) -> List[AccessoryEntity]:
|
||||||
accessories = self.repository.get_all()
|
accessories = self.repository.get_with_cities_all()
|
||||||
return [
|
return [
|
||||||
AccessoryEntity(
|
AccessoryEntity(
|
||||||
id=a.id,
|
id=a.id,
|
||||||
@ -20,7 +20,8 @@ class AccessoriesService:
|
|||||||
volume=a.volume,
|
volume=a.volume,
|
||||||
weight=a.weight,
|
weight=a.weight,
|
||||||
period=a.period,
|
period=a.period,
|
||||||
city_id=a.city_id
|
city_id=a.city_id,
|
||||||
|
city_name=a.city.name
|
||||||
)
|
)
|
||||||
for a in accessories
|
for a in accessories
|
||||||
]
|
]
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session, joinedload
|
||||||
from app.infrastructure.database.models.accessory import Accessory
|
from app.infrastructure.database.models.accessory import Accessory
|
||||||
|
|
||||||
|
|
||||||
class AccessoriesRepository:
|
class AccessoriesRepository:
|
||||||
def __init__(self, db: Session):
|
def __init__(self, db: Session):
|
||||||
self.db = db
|
self.db = db
|
||||||
@ -8,6 +9,11 @@ class AccessoriesRepository:
|
|||||||
def get_all(self):
|
def get_all(self):
|
||||||
return self.db.query(Accessory).all()
|
return self.db.query(Accessory).all()
|
||||||
|
|
||||||
|
def get_with_cities_all(self):
|
||||||
|
return self.db.query(Accessory) \
|
||||||
|
.options(joinedload(Accessory.city)) \
|
||||||
|
.all()
|
||||||
|
|
||||||
def get_by_id(self, accessory_id: int):
|
def get_by_id(self, accessory_id: int):
|
||||||
return self.db.query(Accessory).filter(Accessory.id == accessory_id).first()
|
return self.db.query(Accessory).filter(Accessory.id == accessory_id).first()
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user