._.
This commit is contained in:
parent
01df26b502
commit
ce4b56ca32
@ -9,6 +9,7 @@ class AccessoryEntity(BaseModel):
|
||||
weight: Optional[float] = None
|
||||
period: Optional[int] = None
|
||||
city_id: Optional[int] = None
|
||||
city_name: Optional[str] = None
|
||||
|
||||
class Config:
|
||||
from_attributes = True
|
||||
|
||||
@ -12,7 +12,7 @@ class AccessoriesService:
|
||||
self.repository = AccessoriesRepository(db)
|
||||
|
||||
def get_all_accessories(self) -> List[AccessoryEntity]:
|
||||
accessories = self.repository.get_all()
|
||||
accessories = self.repository.get_with_cities_all()
|
||||
return [
|
||||
AccessoryEntity(
|
||||
id=a.id,
|
||||
@ -20,7 +20,8 @@ class AccessoriesService:
|
||||
volume=a.volume,
|
||||
weight=a.weight,
|
||||
period=a.period,
|
||||
city_id=a.city_id
|
||||
city_id=a.city_id,
|
||||
city_name=a.city.name
|
||||
)
|
||||
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
|
||||
|
||||
|
||||
class AccessoriesRepository:
|
||||
def __init__(self, db: Session):
|
||||
self.db = db
|
||||
@ -8,6 +9,11 @@ class AccessoriesRepository:
|
||||
def get_all(self):
|
||||
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):
|
||||
return self.db.query(Accessory).filter(Accessory.id == accessory_id).first()
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user