from typing import List, Optional from fastapi import APIRouter, HTTPException, status from src.auth.service import CurrentUser from src.database.core import DbSession from src.database.service import CommonParameters from src.models import StandardResponse from .schema import (OverhaulJobBase, OverhaulJobCreate, OverhaulJobPagination, OverhaulJobRead) from .service import create, delete, get_all router = APIRouter() @router.get( "/{overhaul_equipment_id}", response_model=StandardResponse[OverhaulJobPagination] ) async def get_jobs(common: CommonParameters, overhaul_equipment_id: str): """Get all scope pagination.""" # return results = await get_all(common=common, overhaul_equipment_id=overhaul_equipment_id) return StandardResponse( data=results, message="Data retrieved successfully", ) @router.post("/{overhaul_equipment_id}", response_model=StandardResponse[None]) async def create_overhaul_equipment_jobs( db_session: DbSession, overhaul_equipment_id, overhaul_job_in: OverhaulJobCreate ): """Get all scope activity pagination.""" # return await create( db_session=db_session, overhaul_equipment_id=overhaul_equipment_id, overhaul_job_in=overhaul_job_in, ) return StandardResponse( data=None, message="Data created successfully", ) @router.delete("/{overhaul_job_id}", response_model=StandardResponse[None]) async def delete_overhaul_equipment_job(db_session: DbSession, overhaul_job_id): await delete(db_session=db_session, overhaul_job_id=overhaul_job_id) return StandardResponse( data=None, message="Data deleted successfully", ) # @router.post("", response_model=StandardResponse[List[str]]) # async def create_scope(db_session: DbSession, scope_in: OverhaulJobCreate): # overhaul_job = await create(db_session=db_session, scope_in=scope_in) # return StandardResponse(data=overhaul_job, message="Data created successfully") # @router.put("/{scope_id}", response_model=StandardResponse[ScopeRead]) # async def update_scope(db_session: DbSession, scope_id: str, scope_in: ScopeUpdate, current_user: CurrentUser): # scope = await get(db_session=db_session, scope_id=scope_id) # if not scope: # raise HTTPException( # status_code=status.HTTP_404_NOT_FOUND, # detail="A data with this id does not exist.", # ) # return StandardResponse(data=await update(db_session=db_session, scope=scope, scope_in=scope_in), message="Data updated successfully") # @router.delete("/{scope_id}", response_model=StandardResponse[ScopeRead]) # async def delete_scope(db_session: DbSession, scope_id: str): # scope = await get(db_session=db_session, scope_id=scope_id) # if not scope: # raise HTTPException( # status_code=status.HTTP_404_NOT_FOUND, # detail=[{"msg": "A data with this id does not exist."}], # ) # await delete(db_session=db_session, scope_id=scope_id) # return StandardResponse(message="Data deleted successfully", data=scope)