from fastapi import APIRouter, Request, Depends from fastapi.responses import JSONResponse from fastapi.encoders import jsonable_encoder from database import session from app.models.auto import Auto_Delivery, Tickets_Auto_Delivery from app.models.delivery import Delivery router = APIRouter( prefix="/delivery", tags=["delivery"], responses={404: {"description": "Not found"}}, ) @router.get("/all/customers", status_code=200) def get_delivery_customers(): automatics = ( session.query(Auto_Delivery) .filter(Auto_Delivery.auto_status == 1) .order_by(Auto_Delivery.estimated_gallons_left.asc()) .all() ) return JSONResponse(content=jsonable_encoder(automatics), status_code=200) @router.get("/driver/{driver_employee_id}", status_code=200) def get_delivery_for_specific_driver(driver_employee_id: int): automatics = ( session.query(Delivery) .filter(Delivery.driver_employee_id == driver_employee_id) .filter(Delivery.automatic == 1) .filter(Delivery.delivery_status == 0) .all() ) return JSONResponse(content=jsonable_encoder(automatics), status_code=200) @router.get("/{auto_id}", status_code=200) def get_auto(auto_id): get_delivery = ( session.query(Auto_Delivery) .filter(Auto_Delivery.id == auto_id) .first() ) return JSONResponse(content=jsonable_encoder(get_delivery), status_code=200) @router.get("/delivery/{delivery_id_order}", status_code=200) def get_delivery(delivery_id_order): get_delivery = ( session.query(Tickets_Auto_Delivery) .filter(Tickets_Auto_Delivery.id == delivery_id_order) .first() ) return JSONResponse(content=jsonable_encoder(get_delivery), status_code=200)