@@ -6,7 +6,7 @@ from db.repository.fuelingtask import ( | |||||
delete_fueling_task, | delete_fueling_task, | ||||
get_fueling_task_by_id | get_fueling_task_by_id | ||||
) | ) | ||||
from schemas.fuelingtask import CreateFuelingTask | |||||
from schemas.fuelingtask import CreateFuelingTask, OutputFuelingTask | |||||
from db.models.user import User | from db.models.user import User | ||||
from apis.v1.route_auth import get_current_user | from apis.v1.route_auth import get_current_user | ||||
@@ -40,7 +40,7 @@ def create_fuelingtask( | |||||
@router.get("/{fueling_task_id}", status_code=status.HTTP_200_OK) | |||||
@router.get("/{fueling_task_id}", response_model=OutputFuelingTask, status_code=status.HTTP_200_OK) | |||||
def get_fuelingtask( | def get_fuelingtask( | ||||
fueling_task_id: int, | fueling_task_id: int, | ||||
db: Session = Depends(get_db), | db: Session = Depends(get_db), | ||||
@@ -50,8 +50,12 @@ def get_fuelingtask( | |||||
raise HTTPException( | raise HTTPException( | ||||
status_code=403, detail="You are not authorized to perform this action" | status_code=403, detail="You are not authorized to perform this action" | ||||
) | ) | ||||
fuelingtask = get_fueling_task_by_id(fueling_task_id, db) | fuelingtask = get_fueling_task_by_id(fueling_task_id, db) | ||||
if fuelingtask == "notfound": | |||||
raise HTTPException( | |||||
status_code=404, detail="fuck off" | |||||
) | |||||
return fuelingtask | return fuelingtask | ||||
@router.delete("/{fueling_task_id}", status_code=status.HTTP_204_NO_CONTENT) | @router.delete("/{fueling_task_id}", status_code=status.HTTP_204_NO_CONTENT) | ||||
@@ -44,6 +44,11 @@ def delete_fueling_task(fueling_task_id: int, db: Session): | |||||
def get_fueling_task_by_id(fuel_task_id: int, db: Session): | def get_fueling_task_by_id(fuel_task_id: int, db: Session): | ||||
fuel_task = db.query(FuelingTask).filter(FuelingTask.Id == fuel_task_id).first() | fuel_task = db.query(FuelingTask).filter(FuelingTask.Id == fuel_task_id).first() | ||||
if not fuel_task: | |||||
return "notfound" | |||||
res = fuel_task.__dict__ | res = fuel_task.__dict__ | ||||
res["Driver"] = get_user_by_id(fuel_task.DriverId, db=db) | |||||
driver = get_user_by_id(fuel_task.DriverId, role="Driver", db=db) | |||||
driver_obj = driver.__dict__ | |||||
res["Driver"] = driver_obj | |||||
res["Driver"]["AssignedVehicle"] = driver.vehicle | |||||
return fuel_task | return fuel_task |
@@ -1,13 +1,24 @@ | |||||
from pydantic import BaseModel, Field | from pydantic import BaseModel, Field | ||||
from datetime import datetime | from datetime import datetime | ||||
from schemas.user import ShowDriver | |||||
class CreateFuelingTask(BaseModel): | class CreateFuelingTask(BaseModel): | ||||
VehicleId: str = Field(...) | |||||
VehicleId: int = Field(...) | |||||
Description: str = Field(...) | |||||
Date: datetime = Field(...) | |||||
Cost: int = Field(...) | |||||
FuelRefilled: int = Field(...) | |||||
GasStationName: str = Field(...) | |||||
ImageBefore: str = Field(...) | |||||
ImageAfter: str = Field(...) | |||||
class OutputFuelingTask(BaseModel): | |||||
VehicleId: int = Field(...) | |||||
Description: str = Field(...) | Description: str = Field(...) | ||||
Date: datetime = Field(...) | Date: datetime = Field(...) | ||||
Cost: int = Field(...) | Cost: int = Field(...) | ||||
FuelRefilled: int = Field(...) | FuelRefilled: int = Field(...) | ||||
GasStationName: str = Field(...) | GasStationName: str = Field(...) | ||||
ImageBefore: str = Field(...) | ImageBefore: str = Field(...) | ||||
ImageAfter: str = Field(...) | |||||
ImageAfter: str = Field(...) | |||||
Driver: ShowDriver | None |