|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- from fastapi import Depends, APIRouter, HTTPException, status
- from sqlalchemy.orm import Session
- from db.session import get_db
- from db.repository.maintenancejob import (
- create_new_maintenancejob,
- create_car_part,
- get_all_maintenance_jobs,
- get_maintenance_job,
- )
- from schemas.maintenancejob import CreateMaintenanceJob
- from schemas.carpart import CreateCarPart
- 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_maintenancejob(
- maintenancejob: CreateMaintenanceJob,
- db: Session = Depends(get_db),
- current_user: User = Depends(get_current_user),
- ):
- if current_user.Role != "Maintenance" and current_user.Role != "Admin":
- raise HTTPException(
- status_code=403, detail="You are not authorized to perform this action"
- )
-
- maintenancejob_res = create_new_maintenancejob(
- maintenancejob=maintenancejob, maintenanceworker=current_user.Id, db=db
- )
- return maintenancejob_res
-
-
- @router.post("/carpart", status_code=status.HTTP_201_CREATED)
- def create_carpart(
- car_part: CreateCarPart,
- db: Session = Depends(get_db),
- current_user: User = Depends(get_current_user),
- ):
- if current_user.Role != "Maintenance" and current_user.Role != "Admin":
- raise HTTPException(
- status_code=403, detail="You are not authorized to perform this action"
- )
-
- car_part_res = create_car_part(car_part=car_part, db=db)
- return car_part_res
-
-
- @router.get("/", status_code=status.HTTP_200_OK)
- def get_all_maintenancejobs(
- db: Session = Depends(get_db),
- current_user: User = Depends(get_current_user),
- ):
- if current_user.Role != "Maintenance" and current_user.Role != "Admin":
- raise HTTPException(
- status_code=403, detail="You are not authorized to perform this action"
- )
-
- maintenancejobs = get_all_maintenance_jobs(db)
- return maintenancejobs
-
-
- @router.get("/{maintenance_job_id}", status_code=status.HTTP_200_OK)
- def get_maintenancejob(
- maintenance_job_id: int,
- db: Session = Depends(get_db),
- current_user: User = Depends(get_current_user),
- ):
- if current_user.Role != "Maintenance" and current_user.Role != "Admin":
- raise HTTPException(
- status_code=403, detail="You are not authorized to perform this action"
- )
-
- maintenancejob = get_maintenance_job(maintenance_job_id, db)
- return maintenancejob
|