You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
92 lines
3.1 KiB
Python
92 lines
3.1 KiB
Python
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)
|