mirror of
https://github.com/Hestia-Homes/Model.git
synced 2026-06-08 11:17:27 +00:00
Relocate EpcPropertyModel + child tables from the dying backend/ tree to
infrastructure/postgres/epc_property_table.py (re-export shim keeps
documents_parser working). Add EpcRepository port + EpcPostgresRepository with
a full reverse mapper (epc_property tables -> EpcPropertyData).
Round-trip test surfaced two fidelity gaps:
1. Union[int,str] SAP code fields were str()-coerced on save, losing the int
(API) vs str (Site Notes) distinction. Now stored as JSONB (type-preserving).
2. The schema was a partial projection. Closed the cheap gaps on the model
(heating shower/bath counts, roof_construction_type, curtain_wall_age,
addendum, mechanical_vent_duct_insulation_level, SAP 10.2 §2 ventilation
fields + a ventilation_present flag). Structural gaps tracked as follow-ups;
renewable_heat_incentive (P0, #1137) excluded from the assertion until landed.
Round-trip passes for RdSAP-Schema-21.0.0 and 21.0.1; pyright strict clean.
Migration inventory for the DB: docs/migrations/epc-property-round-trip-fidelity.md
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
29 lines
872 B
Python
29 lines
872 B
Python
"""Re-export shim.
|
|
|
|
The EPC persistence models moved to ``infrastructure/postgres/epc_property_table.py``
|
|
as part of the Ara backend rebuild (PRD Hestia-Homes/Model#1128, Slice 1 #1129).
|
|
This shim keeps the dying ``backend/`` callers working until cut-over. New code must
|
|
import from ``infrastructure.postgres.epc_property_table`` directly.
|
|
"""
|
|
|
|
from infrastructure.postgres.epc_property_table import (
|
|
EpcBuildingPartModel,
|
|
EpcEnergyElementModel,
|
|
EpcFlatDetailsModel,
|
|
EpcFloorDimensionModel,
|
|
EpcMainHeatingDetailModel,
|
|
EpcPropertyEnergyPerformanceModel,
|
|
EpcPropertyModel,
|
|
EpcWindowModel,
|
|
)
|
|
|
|
__all__ = [
|
|
"EpcBuildingPartModel",
|
|
"EpcEnergyElementModel",
|
|
"EpcFlatDetailsModel",
|
|
"EpcFloorDimensionModel",
|
|
"EpcMainHeatingDetailModel",
|
|
"EpcPropertyEnergyPerformanceModel",
|
|
"EpcPropertyModel",
|
|
"EpcWindowModel",
|
|
]
|