feat: Enable overhaul schedule CRUD operations by uncommenting Pydantic schemas and API endpoints, and adding placeholder service functions.

main
Cizz22 4 weeks ago
parent 56552b6dd9
commit d694dafa8f

@ -13,8 +13,8 @@ from src.database.core import DbSession
from src.database.service import CommonParameters
from src.models import StandardResponse
from .schema import AerosProjectInput, AerosMetadata
from .service import import_aro_project, fetch_aro_record, reset_project
from .schema import AerosProjectInput, AerosMetadata, OverhaulScheduleCreate, OverhaulScheduleUpdate
from .service import import_aro_project, fetch_aro_record, reset_project, create, update, delete
router = APIRouter()
@ -122,36 +122,36 @@ async def reset_aeros_project(db_session: DbSession):
# }
# @router.post("", response_model=StandardResponse[None])
# async def create_overhaul_equipment_jobs(
# db_session: DbSession, overhaul_job_in: OverhaulScheduleCreate
# ):
# await create(
# db_session=db_session,
# overhaul_job_in=overhaul_job_in,
# )
# return StandardResponse(
# data=None,
# message="Data created successfully",
# )
# @router.put("/{overhaul_job_id}", response_model=StandardResponse[None])
# async def update_overhaul_schedule(
# db_session: DbSession, overhaul_job_id: str, overhaul_job_in: OverhaulScheduleUpdate
# ):
# await update(db_session=db_session, overhaul_schedule_id=overhaul_job_id, overhaul_job_in=overhaul_job_in)
# return StandardResponse(
# data=None,
# message="Data updated 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_schedule_id=overhaul_job_id)
# return StandardResponse(
# data=None,
# message="Data deleted successfully",
# )
@router.post("/overhaul_job", response_model=StandardResponse[None])
async def create_overhaul_equipment_jobs(
db_session: DbSession, overhaul_job_in: OverhaulScheduleCreate
):
await create(
db_session=db_session,
overhaul_job_in=overhaul_job_in,
)
return StandardResponse(
data=None,
message="Data created successfully",
)
@router.post("/update/{overhaul_job_id}", response_model=StandardResponse[None])
async def update_overhaul_schedule(
db_session: DbSession, overhaul_job_id: str, overhaul_job_in: OverhaulScheduleUpdate
):
await update(db_session=db_session, overhaul_schedule_id=overhaul_job_id, overhaul_job_in=overhaul_job_in)
return StandardResponse(
data=None,
message="Data updated successfully",
)
@router.post("/delete/{overhaul_job_id}", response_model=StandardResponse[None])
async def delete_overhaul_equipment_job(db_session: DbSession, overhaul_job_id: str):
await delete(db_session=db_session, overhaul_schedule_id=overhaul_job_id)
return StandardResponse(
data=None,
message="Data deleted successfully",
)

@ -7,8 +7,8 @@ from pydantic import Field
from src.models import DefultBase, Pagination
# class OverhaulScheduleBase(DefultBase):
# pass
class OverhaulScheduleBase(DefultBase):
pass
class AerosProjectBase(DefultBase):
@ -25,31 +25,30 @@ class AerosMetadata(AerosProjectBase):
updated_at: datetime
# class OverhaulScheduleCreate(OverhaulScheduleBase):
# year: int
# plan_duration: Optional[int] = Field(None)
# planned_outage: Optional[int] = Field(None)
# actual_shutdown: Optional[int] = Field(None)
# start: datetime
# finish: datetime
# remark: Optional[str] = Field(None)
class OverhaulScheduleCreate(OverhaulScheduleBase):
year: int
plan_duration: Optional[int] = Field(None)
planned_outage: Optional[int] = Field(None)
actual_shutdown: Optional[int] = Field(None)
start: datetime
finish: datetime
remark: Optional[str] = Field(None)
# class OverhaulScheduleUpdate(OverhaulScheduleBase):
# start: datetime
# finish: datetime
class OverhaulScheduleUpdate(OverhaulScheduleBase):
start: datetime
finish: datetime
# class OverhaulScheduleRead(OverhaulScheduleBase):
# id: UUID
# year: int
# plan_duration: Optional[int]
# planned_outage: Optional[int]
# actual_shutdown: Optional[int]
# start: datetime
# finish: datetime
# remark: Optional[str]
class OverhaulScheduleRead(OverhaulScheduleBase):
id: UUID
year: int
plan_duration: Optional[int]
planned_outage: Optional[int]
actual_shutdown: Optional[int]
start: datetime
finish: datetime
remark: Optional[str]
# class OverhaulSchedulePagination(Pagination):
# items: List[OverhaulScheduleRead] = []
class OverhaulSchedulePagination(Pagination):
items: List[OverhaulScheduleRead] = []

@ -17,7 +17,7 @@ import clamd
import io
from .model import AerosProject
from .schema import AerosProjectInput
from .schema import AerosProjectInput, OverhaulScheduleCreate, OverhaulScheduleUpdate
import asyncio
ALLOWED_EXTENSIONS = {".aro"}
MAX_FILE_SIZE = 100 * 1024 * 1024 # 100MB
@ -236,3 +236,19 @@ async def reset_project(*, db_session: DbSession):
)
return project.aro_file_path
async def create(*, db_session: DbSession, overhaul_job_in: OverhaulScheduleCreate):
# Placeholder for creation logic
print(f"create overhaul job called: {overhaul_job_in}")
pass
async def update(*, db_session: DbSession, overhaul_schedule_id: str, overhaul_job_in: OverhaulScheduleUpdate):
# Placeholder for update logic
print(f"update overhaul job called for id {overhaul_schedule_id}: {overhaul_job_in}")
pass
async def delete(*, db_session: DbSession, overhaul_schedule_id: str):
# Placeholder for delete logic
print(f"delete overhaul job called for id {overhaul_schedule_id}")
pass

Loading…
Cancel
Save