from fastapi import Depends, APIRouter from sqlalchemy.orm import Session from fastapi import status, HTTPException from typing import Annotated from db.session import get_db from core.config import settings from db.repository.drivetask import ( create_new_task, ) from schemas.drivetask import CreateTask from db.models.user import User from apis.v1.route_auth import get_current_user router = APIRouter() @router.post("/", status_code=status.HTTP_201_CREATED) def create_tasK( task: CreateTask, db: Session = Depends(get_db), current_user: User = Depends(get_current_user), ): if current_user.Role != "Admin": raise HTTPException( status_code=403, detail="You are not authorized to perform this action" ) task_res = create_new_task(task=task, db=db) if task_res == "notdriver": raise HTTPException( status_code=404, detail=f"Driver with id {task.DriverId} not found" ) return task