cadrumo.adapters.persistence.profile.purchase_invoice_evidence module

Concrete persistence bindings for the ledger evidence application ports.

Core types: SecureObjectRepository, SensitivityClass.

class PurchaseInvoiceEvidenceRepository(*, bucket_id=None, objects=None, settings=None)[source]

Bases: SecureBoundRepository[PurchaseInvoiceEvidenceDocument]

Encrypted repository for one bucket’s evidence catalogue.

Parameters:
namespace: ClassVar[str]
sensitivity: ClassVar[SensitivityClass]
schema_version: ClassVar[int]
payload_type

alias of PurchaseInvoiceEvidenceDocument

extract_identifier(payload)[source]

Return the natural id for payload (used as the SQL object key).

Subclasses MUST override. The base implementation raises NotImplementedError.

Return type:

str

Parameters:

payload (PurchaseInvoiceEvidenceDocument)

class LedgerEvidenceRepositoryAdapter(*, objects)[source]

Bases: object

Translate encrypted evidence documents into application record tuples.

Parameters:

objects (SecureObjectRepository)

load(*, bucket_id)[source]

Load evidence records for one bucket.

Return type:

tuple[PurchaseInvoiceEvidence, ...]

Parameters:

bucket_id (str)

save(*, bucket_id, records)[source]

Persist evidence records for one bucket.

Return type:

None

Parameters:
class LedgerEvidenceAttachmentIngestor(*, store)[source]

Bases: object

Translate application ingestion facts into attachment-service inputs.

Parameters:

store (AttachmentStore)

ingest(request)[source]

Ingest one evidence file and return its content digest.

Return type:

TypeAliasType

Parameters:

request (EvidenceAttachmentIngestRequest)