diff --git a/src/equipment/__pycache__/router.cpython-311.pyc b/src/equipment/__pycache__/router.cpython-311.pyc index b34a8c7..6ac8b76 100644 Binary files a/src/equipment/__pycache__/router.cpython-311.pyc and b/src/equipment/__pycache__/router.cpython-311.pyc differ diff --git a/src/equipment/__pycache__/service.cpython-311.pyc b/src/equipment/__pycache__/service.cpython-311.pyc index 4194d20..027b2ad 100644 Binary files a/src/equipment/__pycache__/service.cpython-311.pyc and b/src/equipment/__pycache__/service.cpython-311.pyc differ diff --git a/src/equipment/router.py b/src/equipment/router.py index 83100ba..e559ccb 100644 --- a/src/equipment/router.py +++ b/src/equipment/router.py @@ -9,7 +9,15 @@ from .schema import ( EquipmentCreate, EquipmentUpdate, ) -from .service import get_master_by_assetnum, get_by_id, get_all, create, update, delete +from .service import ( + get_master_by_assetnum, + get_by_id, + get_all, + create, + update, + delete, + generate_all_transaction, +) from src.database.service import CommonParameters, search_filter_sort_paginate from src.database.core import DbSession @@ -46,6 +54,18 @@ async def get_equipment_tree(): pass +@router.get( + "/generate-equipment-transaction", response_model=StandardResponse[List[str]] +) +async def get_generated_equipment_transaction(db_session: DbSession, token: Token): + equipment_list = await generate_all_transaction(db_session=db_session, token=token) + + return StandardResponse( + data=equipment_list, + message="Equipment transactions generated successfully", + ) + + @router.get("/{assetnum}", response_model=StandardResponse[EquipmentRead]) async def get_equipment(db_session: DbSession, assetnum: str): ( diff --git a/src/equipment/service.py b/src/equipment/service.py index 0cf29bf..9961631 100644 --- a/src/equipment/service.py +++ b/src/equipment/service.py @@ -103,6 +103,16 @@ async def get_all( return result +async def generate_all_transaction(*, db_session: DbSession, token): + """Generate transaction for all equipments in the database based on equipments assetnum.""" + query = Select(Equipment) + query_result = await db_session.execute(query) + equipments = query_result.scalars().all() + for equipment in equipments: + await main(equipment.assetnum, token, RELIABILITY_APP_URL) + return [equipment.assetnum for equipment in equipments] + + async def generate_transaction( *, db_session: DbSession, data_in: EquipmentCreate, token ):