From 72c3ec2b19d9026a0d1ae34ec9d24207fb427a11 Mon Sep 17 00:00:00 2001 From: Backend IM Bot Date: Wed, 9 Apr 2025 19:40:57 +0000 Subject: [PATCH] feat: Add POST /dispatch endpoint --- endpoints/dispatch.post.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/endpoints/dispatch.post.py b/endpoints/dispatch.post.py index e69de29..3badd2b 100644 --- a/endpoints/dispatch.post.py +++ b/endpoints/dispatch.post.py @@ -0,0 +1,23 @@ +from fastapi import APIRouter, Depends, HTTPException, status +from sqlalchemy.orm import Session +from typing import List +from core.database import get_db +from models.ride import Ride +from schemas.ride import RideSchema, RideCreate +from helpers.ride_helpers import get_all_rides, create_ride, dispatch_ride + +router = APIRouter() + +@router.post("/dispatch", status_code=status.HTTP_201_CREATED, response_model=RideSchema) +async def dispatch_new_ride( + ride: RideCreate, + db: Session = Depends(get_db) +): + """Dispatch a new ride""" + new_ride = create_ride(db=db, ride=ride) + if not new_ride: + raise HTTPException(status_code=400, detail="Ride could not be created") + dispatched_ride = dispatch_ride(db=db, ride=new_ride) + if not dispatched_ride: + raise HTTPException(status_code=400, detail="Ride could not be dispatched") + return dispatched_ride \ No newline at end of file