CoolFace
Apppublic

VIPC/ghost-kitchen-backend

sourceHugging Faceupdated 3mo agoView on Hugging Face
0likes
orders.py57 linesDownload Raw Back to routers
1from fastapi import APIRouter, Depends, HTTPException2from typing import List3from sqlalchemy.orm import Session4from app.core.database import get_db5from app.services import order_service6from app.schemas.order import OrderCreate, OrderResponse, OrderHistory, OrderFullDetail7from app.models.user import User8from app.core.security import get_current_user # ๐Ÿ‘ˆ IMPORTANTE9 10router = APIRouter(prefix="/pedidos", tags=["Pedidos"])11 12# 1. CREAR PEDIDO13@router.post("/", response_model=OrderResponse)14def registrar_pedido(15    pedido: OrderCreate, 16    db: Session = Depends(get_db),17    current_user: User = Depends(get_current_user) # ๐Ÿ‘ˆ Token Requerido18):19    # Pasamos el ID real20    return order_service.crear_pedido(db, pedido, current_user.id)21 22# 2. VER HISTORIAL23@router.get("/historial", response_model=List[OrderHistory])24def ver_historial(25    db: Session = Depends(get_db),26    current_user: User = Depends(get_current_user) # ๐Ÿ‘ˆ Token Requerido27):28    return order_service.obtener_historial_cliente(db, current_user.id)29 30# 3. ULTIMO ACTIVO31@router.get("/ultimo-activo")32def ver_ultimo_pedido_activo(33    db: Session = Depends(get_db),34    current_user: User = Depends(get_current_user) # ๐Ÿ‘ˆ Token Requerido35):36    return order_service.obtener_ultimo_pedido_activo(db, current_user.id)37 38# 4. DETALLE39@router.get("/{id_pedido}", response_model=OrderFullDetail)40def ver_detalle_pedido(41    id_pedido: int, 42    db: Session = Depends(get_db),43    current_user: User = Depends(get_current_user) # ๐Ÿ‘ˆ Token Requerido44):45    detalle = order_service.obtener_detalle_pedido(db, id_pedido, current_user.id)46    if not detalle:47        raise HTTPException(status_code=404, detail="Pedido no encontrado")48    return detalle49 50# 5. CANCELAR51@router.post("/{id_pedido}/cancel")52def cancelar_pedido_endpoint(53    id_pedido: int, 54    db: Session = Depends(get_db),55    current_user: User = Depends(get_current_user) # ๐Ÿ‘ˆ Token Requerido56):57    return order_service.cancelar_pedido(db, id_pedido, current_user.id)