define class methods to construct domain classes from sqlalchemy models

This commit is contained in:
Daniel Roth 2026-02-12 12:44:18 +00:00
parent 7c88e22424
commit c31ad577a6
2 changed files with 15 additions and 1 deletions

View file

@ -1,8 +1,9 @@
from __future__ import annotations
from datetime import datetime
from typing import Optional
from backend.app.db.models.portfolio import Epc
from backend.app.db.models.recommendations import PlanTypeEnum
from backend.app.db.models.recommendations import PlanModel, PlanTypeEnum, ScenarioModel
from backend.domain.scenario import Scenario
@ -28,3 +29,9 @@ class Plan:
valuation_increase: Optional[float] = None
cost_of_works: Optional[float] = None
contingency_cost: Optional[float] = None
@classmethod
def from_sqlalchemy(
cls, plan_model: PlanModel, scenario_model: ScenarioModel
) -> Plan:
raise NotImplementedError

View file

@ -1,6 +1,9 @@
from __future__ import annotations
from datetime import datetime
from typing import Optional
from backend.app.db.models.recommendations import ScenarioModel
class Scenario:
name: str
@ -44,3 +47,7 @@ class Scenario:
valuation_return_on_ivestment: Optional[str] = None
property_valuation_increase: Optional[float] = None
labour_days: Optional[float] = None
@classmethod
def from_sqlalchemy(cls, scenario_model: ScenarioModel) -> Scenario:
raise NotImplementedError