diff --git a/src/modules/equipment/__pycache__/insert_actual_data.cpython-311.pyc b/src/modules/equipment/__pycache__/insert_actual_data.cpython-311.pyc index ab268e4..4f125e2 100644 Binary files a/src/modules/equipment/__pycache__/insert_actual_data.cpython-311.pyc and b/src/modules/equipment/__pycache__/insert_actual_data.cpython-311.pyc differ diff --git a/src/modules/equipment/__pycache__/run.cpython-311.pyc b/src/modules/equipment/__pycache__/run.cpython-311.pyc index ff6e68f..c4aabcf 100644 Binary files a/src/modules/equipment/__pycache__/run.cpython-311.pyc and b/src/modules/equipment/__pycache__/run.cpython-311.pyc differ diff --git a/src/plant_transaction_data/__pycache__/schema.cpython-311.pyc b/src/plant_transaction_data/__pycache__/schema.cpython-311.pyc index 98f7c19..5dabac6 100644 Binary files a/src/plant_transaction_data/__pycache__/schema.cpython-311.pyc and b/src/plant_transaction_data/__pycache__/schema.cpython-311.pyc differ diff --git a/src/simulations/schema.py b/src/simulations/schema.py index 64f5228..eaba394 100644 --- a/src/simulations/schema.py +++ b/src/simulations/schema.py @@ -5,6 +5,10 @@ from uuid import UUID from pydantic import Field from src.models import DefaultBase, Pagination +from src.masterdata_simulations.schema import MasterDataSimulationRead +from src.plant_transaction_data_simulations.schema import ( + PlantTransactionDataSimulationsRead, +) class SimulationBase(DefaultBase): @@ -26,6 +30,12 @@ class SimulationUpdate(SimulationBase): class SimulationRead(SimulationBase): id: UUID + masterdata_entries: List[MasterDataSimulationRead] = Field( + default_factory=list, nullable=False + ) + plant_transactions: List[PlantTransactionDataSimulationsRead] = Field( + default_factory=list, nullable=False + ) class SimulationPagination(Pagination): diff --git a/src/simulations/service.py b/src/simulations/service.py index 3cc89ae..0dc6865 100644 --- a/src/simulations/service.py +++ b/src/simulations/service.py @@ -6,6 +6,7 @@ from uuid import UUID from sqlalchemy import Delete, Select, func from sqlalchemy.inspection import inspect as sa_inspect +from sqlalchemy.orm import selectinload from src.database.core import DbSession from src.database.service import search_filter_sort_paginate @@ -39,7 +40,14 @@ PLANT_COPY_COLUMNS = [ async def get(*, db_session: DbSession, simulation_id: str) -> Optional[Simulation]: - query = Select(Simulation).where(Simulation.id == simulation_id) + query = ( + Select(Simulation) + .options( + selectinload(Simulation.masterdata_entries), + selectinload(Simulation.plant_transactions), + ) + .where(Simulation.id == simulation_id) + ) result = await db_session.execute(query) return result.scalars().one_or_none()