fix simulation get data response

main
MrWaradana 4 weeks ago
parent a7aa677195
commit f671249fed

@ -5,6 +5,10 @@ from uuid import UUID
from pydantic import Field from pydantic import Field
from src.models import DefaultBase, Pagination 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): class SimulationBase(DefaultBase):
@ -26,6 +30,12 @@ class SimulationUpdate(SimulationBase):
class SimulationRead(SimulationBase): class SimulationRead(SimulationBase):
id: UUID 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): class SimulationPagination(Pagination):

@ -6,6 +6,7 @@ from uuid import UUID
from sqlalchemy import Delete, Select, func from sqlalchemy import Delete, Select, func
from sqlalchemy.inspection import inspect as sa_inspect from sqlalchemy.inspection import inspect as sa_inspect
from sqlalchemy.orm import selectinload
from src.database.core import DbSession from src.database.core import DbSession
from src.database.service import search_filter_sort_paginate 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]: 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) result = await db_session.execute(query)
return result.scalars().one_or_none() return result.scalars().one_or_none()

Loading…
Cancel
Save