._.
This commit is contained in:
parent
14d07f25fd
commit
d8a5be41e2
@ -7,6 +7,8 @@ class DeliveryAccessoryEntity(BaseModel):
|
|||||||
queue: int
|
queue: int
|
||||||
count: int
|
count: int
|
||||||
accessory_id: Optional[int] = None
|
accessory_id: Optional[int] = None
|
||||||
|
accessory_name: Optional[str] = None
|
||||||
|
city_name: Optional[str] = None
|
||||||
delivery_order_id: Optional[int] = None
|
delivery_order_id: Optional[int] = None
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
|
|||||||
@ -24,6 +24,21 @@ class DeliveryAccessoriesService:
|
|||||||
for da in delivery_accessories
|
for da in delivery_accessories
|
||||||
]
|
]
|
||||||
|
|
||||||
|
def get_all_delivery_accessories_by_order(self, delivery_order_id):
|
||||||
|
delivery_accessories = self.repository.get_all_by_order_id(delivery_order_id)
|
||||||
|
return [
|
||||||
|
DeliveryAccessoryEntity(
|
||||||
|
id=da.id,
|
||||||
|
queue=da.queue,
|
||||||
|
count=da.count,
|
||||||
|
accessory_id=da.accessory_id,
|
||||||
|
delivery_order_id=da.delivery_order_id,
|
||||||
|
accessory_name=da.accessory.name,
|
||||||
|
city_name=da.accessory.city.name,
|
||||||
|
)
|
||||||
|
for da in delivery_accessories
|
||||||
|
]
|
||||||
|
|
||||||
def get_delivery_accessory_by_id(self, delivery_accessory_id: int) -> Optional[DeliveryAccessoryEntity]:
|
def get_delivery_accessory_by_id(self, delivery_accessory_id: int) -> Optional[DeliveryAccessoryEntity]:
|
||||||
delivery_accessory = self.repository.get_by_id(delivery_accessory_id)
|
delivery_accessory = self.repository.get_by_id(delivery_accessory_id)
|
||||||
if delivery_accessory:
|
if delivery_accessory:
|
||||||
|
|||||||
@ -1,4 +1,6 @@
|
|||||||
from sqlalchemy.orm import Session
|
from sqlalchemy.orm import Session, joinedload
|
||||||
|
|
||||||
|
from app.infrastructure.database.models.accessory import Accessory
|
||||||
from app.infrastructure.database.models.delivery_accessories import DeliveryAccessory
|
from app.infrastructure.database.models.delivery_accessories import DeliveryAccessory
|
||||||
|
|
||||||
|
|
||||||
@ -9,6 +11,12 @@ class DeliveryAccessoriesRepository:
|
|||||||
def get_all(self):
|
def get_all(self):
|
||||||
return self.db.query(DeliveryAccessory).all()
|
return self.db.query(DeliveryAccessory).all()
|
||||||
|
|
||||||
|
def get_all_by_order_id(self, delivery_order_id):
|
||||||
|
return self.db.query(DeliveryAccessory) \
|
||||||
|
.options(joinedload(DeliveryAccessory.accessory).joinedload(Accessory.city)) \
|
||||||
|
.filter(DeliveryAccessory.delivery_order_id == delivery_order_id) \
|
||||||
|
.all()
|
||||||
|
|
||||||
def get_by_id(self, delivery_accessory_id: int):
|
def get_by_id(self, delivery_accessory_id: int):
|
||||||
return self.db.query(DeliveryAccessory).filter(DeliveryAccessory.id == delivery_accessory_id).first()
|
return self.db.query(DeliveryAccessory).filter(DeliveryAccessory.id == delivery_accessory_id).first()
|
||||||
|
|
||||||
|
|||||||
@ -19,6 +19,13 @@ def read_delivery_accessories(db: Session = Depends(get_db),
|
|||||||
return service.get_all_delivery_accessories()
|
return service.get_all_delivery_accessories()
|
||||||
|
|
||||||
|
|
||||||
|
@router.get("/delivery-orders/{delivery_order_id}/accessories", response_model=List[DeliveryAccessoryEntity])
|
||||||
|
def get_delivery_accessories_by_order(delivery_order_id: int, db: Session = Depends(get_db),
|
||||||
|
current_user: User = Depends(verify_token)):
|
||||||
|
service = DeliveryAccessoriesService(db)
|
||||||
|
return service.get_all_delivery_accessories_by_order(delivery_order_id)
|
||||||
|
|
||||||
|
|
||||||
@router.get("/delivery-accessories/{delivery_accessory_id}", response_model=DeliveryAccessoryEntity)
|
@router.get("/delivery-accessories/{delivery_accessory_id}", response_model=DeliveryAccessoryEntity)
|
||||||
def read_delivery_accessory(delivery_accessory_id: int, db: Session = Depends(get_db),
|
def read_delivery_accessory(delivery_accessory_id: int, db: Session = Depends(get_db),
|
||||||
current_user: User = Depends(verify_token)):
|
current_user: User = Depends(verify_token)):
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user