feat: implement CRUD APIs for projects and scenarios with validated schemas

This commit is contained in:
2025-11-09 17:23:10 +01:00
parent 8bf46b80c8
commit 61b42b3041
14 changed files with 380 additions and 38 deletions

View File

@@ -52,12 +52,16 @@ class SimulationParameter(Base):
resource_type: Mapped[ResourceType | None] = mapped_column(
SQLEnum(ResourceType), nullable=True
)
mean_value: Mapped[float | None] = mapped_column(Numeric(18, 4), nullable=True)
standard_deviation: Mapped[float | None] = mapped_column(Numeric(18, 4), nullable=True)
minimum_value: Mapped[float | None] = mapped_column(Numeric(18, 4), nullable=True)
maximum_value: Mapped[float | None] = mapped_column(Numeric(18, 4), nullable=True)
mean_value: Mapped[float | None] = mapped_column(
Numeric(18, 4), nullable=True)
standard_deviation: Mapped[float | None] = mapped_column(
Numeric(18, 4), nullable=True)
minimum_value: Mapped[float | None] = mapped_column(
Numeric(18, 4), nullable=True)
maximum_value: Mapped[float | None] = mapped_column(
Numeric(18, 4), nullable=True)
unit: Mapped[str | None] = mapped_column(String(32), nullable=True)
metadata: Mapped[dict | None] = mapped_column(JSON, nullable=True)
configuration: Mapped[dict | None] = mapped_column(JSON, nullable=True)
created_at: Mapped[datetime] = mapped_column(
DateTime(timezone=True), nullable=False, server_default=func.now()
)