Shyamnath's picture
Initial commit with Git LFS
80feb1b
raw
history blame
1.36 kB
from fastapi import APIRouter, Depends, HTTPException
from sqlalchemy.orm import Session
from typing import List
from datetime import datetime
from ..database import get_db, Dish, Order, OrderItem
from ..models.dish import Dish as DishModel
from ..models.order import Order as OrderModel
router = APIRouter(
prefix="/chef",
tags=["chef"],
responses={404: {"description": "Not found"}},
)
# Add an API endpoint to get completed orders count
@router.get("/api/completed-orders-count")
def get_completed_orders_count(db: Session = Depends(get_db)):
completed_orders = db.query(Order).filter(Order.status == "completed").count()
return {"count": completed_orders}
# Get pending orders
@router.get("/orders/pending", response_model=List[OrderModel])
def get_pending_orders(db: Session = Depends(get_db)):
orders = db.query(Order).filter(Order.status == "pending").all()
return orders
# Mark order as completed
@router.put("/orders/{order_id}/complete")
def complete_order(order_id: int, db: Session = Depends(get_db)):
db_order = db.query(Order).filter(Order.id == order_id).first()
if db_order is None:
raise HTTPException(status_code=404, detail="Order not found")
db_order.status = "completed"
db_order.updated_at = datetime.utcnow()
db.commit()
return {"message": "Order marked as completed"}