Files
eamco_auto_api/app/routers/delivery.py

81 lines
2.2 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)
@router.get("/all/profile/{customer_id}", status_code=200)
def get_autos_customers(customer_id):
get_delivery = (
session.query(Tickets_Auto_Delivery)
.filter(Tickets_Auto_Delivery.customer_id == customer_id)
.order_by(Tickets_Auto_Delivery.id.asc())
.all()
)
return JSONResponse(content=jsonable_encoder(get_delivery), status_code=200)