Source code for cadrumo.application.modelo.export_ports
"""Application-owned capabilities required by Modelo declaration export.Modelo export coordinates several persisted authorities, but the use case mustnot know which encrypted-storage adapters implement them. The executablecomposition root supplies one bundle for the target profile bucket. Keepingthe bundle explicit also makes the M303 ledger projection use the sameprorrata, investment, and transaction authorities as the rest of the export."""from__future__importannotationsfromdataclassesimportdataclassfromtypingimportProtocolfromcadrumo.application.calculations.observations_repositoryimport(CalculationObservationRepositoryProtocol,IvaWalletDecisionRepositoryProtocol,)fromcadrumo.domain.calculations.registry.tax_id_formatimportSubjectTaxIdfrom...domain.buckets.protocolsimportBucketEventHistoryRepositoryProtocolfrom...domain.justificante.protocolsimportJustificanteRepositoryProtocolfrom...domain.modelos.protocolsimport(CalculationRevisionCatalogueRepositoryProtocol,ModeloRecordCatalogueRepositoryProtocol,VerificationReportCatalogueRepositoryProtocol,)from...domain.modelos.work_unit_repositoryimportWorkUnitCatalogueRepositoryProtocolfrom...domain.prorrata_register.protocolsimportProrrataRegisterRepositoryProtocolfrom...domain.transactions.protocolsimportTransactionCatalogueRepositoryProtocolfrom..bienes_inversion.portsimportBienesInversionIvaRegisterRepositoryProtocolfrom..filing.draft_review_portsimportDraftReviewPorts
[docs]@dataclass(frozen=True,slots=True)classModeloExportPorts:"""Required persisted authorities for one Modelo export invocation. Every field is required. The bundle is assembled by an outer composition root and passed unchanged through the application call chain; export never manufactures a repository or resolves an implicit global store. """calculation:CalculationRevisionCatalogueRepositoryProtocolwork_unit:WorkUnitCatalogueRepositoryProtocolfiling:ModeloRecordCatalogueRepositoryProtocolverification:VerificationReportCatalogueRepositoryProtocolbucket_event:BucketEventHistoryRepositoryProtocolobservation:CalculationObservationRepositoryProtocoliva_compensation_decision:IvaWalletDecisionRepositoryProtocoljustificante:JustificanteRepositoryProtocolprorrata_register:ProrrataRegisterRepositoryProtocolbienes_inversion:BienesInversionIvaRegisterRepositoryProtocoltransaction:TransactionCatalogueRepositoryProtocoldraft_review_ports:DraftReviewPorts
[docs]classModeloExportPortsFactory(Protocol):"""Construct one export bundle for a target bucket and taxpayer identity."""def__call__(self,*,bucket_id:str,m303_rectificativa_taxpayer_tax_id:SubjectTaxId,)->ModeloExportPorts:"""Return all authorities required by one export invocation."""...