cadrumo.adapters.persistence.profile.retencion_observations module

Encrypted persistence adapter for retención observation capabilities.

Core types: SecureObjectRepository, SensitivityClass.

class RetencionObservationRepositoryAdapter(*, objects)[source]

Bases: SecureBoundRepository[_RetencionObservationEnvelopePayload], RetencionObservationRepository

Bind the application retención port to encrypted secure-object storage.

Parameters:

objects (SecureObjectRepository)

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

alias of _RetencionObservationEnvelopePayload

validate_observation_window_modelo(modelo)[source]

Bind application window-key validation to persistence storage safety.

Return type:

str

Parameters:

modelo (str)

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 (_RetencionObservationEnvelopePayload)

build_observation_payload(*, modelo, filing_year, period, observation, source_kind, captured_at=None, source_metadata=None)[source]

Build one validated envelope payload before committing it.

Return type:

_RetencionObservationEnvelopePayload

Parameters:
save_observation(*, modelo, filing_year, period, observation, source_kind, captured_at=None, source_metadata=None)[source]

Persist one per-perceptor retención observation.

Return type:

None

Parameters:
replace_observations(*, modelo, filing_year, period, observations, source_kind, captured_at=None, source_metadata=None)[source]

Atomically replace the complete per-perceptor observation window.

Return type:

None

Parameters:
load_observations(modelo, period)[source]

Return all persisted observations for one modelo/period window.

Return type:

tuple[RetencionObservation, ...]

Parameters:
iter_modelo(modelo)[source]

Yield encrypted payloads for one modelo in unspecified order.

Return type:

Iterator[_RetencionObservationEnvelopePayload]

Parameters:

modelo (str)