Source code for cadrumo.application.modelo.amendment_action_ports
"""Application-owned capabilities required by Modelo amendment actions.The amendment authority reads and co-commits several profile catalogues. Itdepends on these domain-facing protocols rather than on encrypted-storageimplementations; executable composition roots bind the concrete repositoriesfor the active profile bucket and pass the complete bundle through the callchain."""from__future__importannotationsfromdataclassesimportdataclassfromtypingimportProtocolfrom...domain.buckets.protocolsimportBucketEventHistoryRepositoryProtocolfrom...domain.calculations.registry.authorityimportPinnedAuthorityOperationfrom...domain.justificante.protocolsimportJustificanteRepositoryProtocolfrom...domain.modelos.protocolsimport(CalculationRevisionCatalogueRepositoryProtocol,ModeloRecordCatalogueRepositoryProtocol,)from...domain.modelos.work_unit_repositoryimportWorkUnitCatalogueRepositoryProtocolfrom...domain.transactions.protocolsimportTransactionCatalogueRepositoryProtocolfrom..calculations.iva_compensation_history_portsimportIvaCompensationHistoryRepositoryProtocolfrom..calculations.observations_repositoryimportCalculationObservationRepositoryProtocol
[docs]@dataclass(frozen=True,slots=True)classAmendmentActionPorts:"""Required persisted authorities for one amendment invocation."""work_unit_repository:WorkUnitCatalogueRepositoryProtocolcalculation_repository:CalculationRevisionCatalogueRepositoryProtocolfiling_repository:ModeloRecordCatalogueRepositoryProtocoljustificante_repository:JustificanteRepositoryProtocolbucket_event_repository:BucketEventHistoryRepositoryProtocoltransaction_repository:TransactionCatalogueRepositoryProtocolobservation_repository:CalculationObservationRepositoryProtocoliva_compensation_history_repository:IvaCompensationHistoryRepositoryProtocol
[docs]classAmendmentActionPortsFactory(Protocol):"""Construct the amendment authorities for one profile bucket."""def__call__(self,*,bucket_id:str,operation:PinnedAuthorityOperation)->AmendmentActionPorts:"""Return the complete amendment bundle for ``bucket_id``."""...