cadrumo.application.modelo.calculation_action_ports module

Application-owned capabilities required by Modelo calculation actions.

The calculation action coordinates several persisted authorities, but it must not know which encrypted-storage adapters implement them. Executable composition roots construct one bundle per profile bucket and pass it through the calculation call chain. Keeping the less-common capabilities here also keeps the action boundary honest: calculation cannot silently construct a repository or resolve an implicit global store when a caller forgets a port.

class CalculationTransactionRepositoryProtocol(*args, **kwargs)[source]

Bases: TransactionCatalogueRepositoryProtocol, Protocol

Transaction authority with the IVA investment migration capability.

migrate_iva_deduction_authority(*, asset_profile_id)[source]

Migrate and return the reciprocal capital-goods IVA authority.

Return type:

BienesInversionIvaRegister

Parameters:

asset_profile_id (str)

class CalculationIvaWalletDecisionRepositoryProtocol(*args, **kwargs)[source]

Bases: IvaWalletDecisionRepositoryProtocol, Protocol

IVA-wallet read capability plus the calculation decision write.

class CalculationRevisionOverrideMigrationProtocol(*args, **kwargs)[source]

Bases: Protocol

Boundary capability for legacy relation-override migration.

migrate(repository, *, operation)[source]

Bring persisted calculation relation overrides to current keying.

Return type:

None

Parameters:
class CalculationActionPorts(operation, work_unit_repository, work_lifecycle_ports, calculation_repository, bucket_event_repository, transaction_repository, usage_ratio_profile_loader, profile_read_ports, invoice_repository, invoice_catalogue_read_ports, filing_repository, prorrata_register_repository, bienes_inversion_repository, inventory_repository, observation_repository, invoice_source_ports, percepciones_observation_ports, iva_compensation_history_repository, iva_compensation_decision_repository, borrador_snapshot_repository, retencion_observation_ports, relation_override_migration)[source]

Bases: object

Required persisted authorities for one Modelo calculation invocation.

Parameters:
operation: PinnedAuthorityOperation
work_unit_repository: WorkUnitCatalogueRepositoryProtocol
work_lifecycle_ports: WorkLifecyclePorts
calculation_repository: CalculationRevisionCatalogueRepositoryProtocol
bucket_event_repository: BucketEventHistoryRepositoryProtocol
transaction_repository: CalculationTransactionRepositoryProtocol
usage_ratio_profile_loader: UsageRatioProfileLoader
profile_read_ports: ProfileReadPorts
invoice_repository: InvoiceCatalogueRepositoryProtocol
invoice_catalogue_read_ports: InvoiceCatalogueReadPorts
filing_repository: ModeloRecordCatalogueRepositoryProtocol
prorrata_register_repository: ProrrataRegisterServiceRepositoryProtocol
bienes_inversion_repository: BienesInversionIvaRegisterRepositoryProtocol
inventory_repository: InventoryLedgerRepositoryProtocol
observation_repository: CalculationObservationRepositoryProtocol
invoice_source_ports: InvoiceSourceResolverPorts
percepciones_observation_ports: PercepcionObservationPorts
iva_compensation_history_repository: IvaCompensationHistoryRepositoryProtocol
iva_compensation_decision_repository: CalculationIvaWalletDecisionRepositoryProtocol
borrador_snapshot_repository: Borrador100SnapshotRepository
retencion_observation_ports: RetencionObservationPorts
relation_override_migration: CalculationRevisionOverrideMigrationProtocol
class CalculationActionPortsFactory(*args, **kwargs)[source]

Bases: Protocol

Construct the calculation authorities for one profile bucket.