Source code for cadrumo.application.modelo.iva_wallet_seed_ports
"""Application-owned capabilities required by IVA-wallet seed operations.The Modelo facade owns seed, correction, and override policy. It receivesbucket-bound repository capabilities from an outer composition root and keepsthe storage implementations, DTO translation, and persistence errors outsidethe application boundary. Observation reads and wallet-decision writes usethe shared :class:`CalculationObservationPorts` bundle rather than defining asecond pair of protocols for the same capability."""from__future__importannotationsfromdataclassesimportdataclassfromtypingimportProtocolfrom...domain.buckets.protocolsimportBucketEventHistoryRepositoryProtocolfrom...domain.modelos.protocolsimportCalculationRevisionCatalogueRepositoryProtocolfrom...domain.modelos.work_unit_repositoryimportWorkUnitCatalogueRepositoryProtocolfrom..calculations.iva_compensation_history_portsimportIvaCompensationHistoryRepositoryProtocolfrom..calculations.observations_repositoryimportCalculationObservationPorts
[docs]@dataclass(frozen=True,slots=True)classModeloIvaWalletSeedPorts:"""Required persisted authorities for one IVA-wallet seed operation."""work_unit_repository:WorkUnitCatalogueRepositoryProtocolcalculation_repository:CalculationRevisionCatalogueRepositoryProtocolbucket_event_repository:BucketEventHistoryRepositoryProtocolcalculation_observation_ports:CalculationObservationPortsiva_compensation_history_repository:IvaCompensationHistoryRepositoryProtocol
[docs]classModeloIvaWalletSeedPortsFactory(Protocol):"""Construct the IVA-wallet seed authorities for one profile bucket."""def__call__(self,*,bucket_id:str)->ModeloIvaWalletSeedPorts:"""Return the complete IVA-wallet seed bundle for ``bucket_id``."""...