71 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			71 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| 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)
 | |
|     
 | |
| 
 |