Source code for aeat.adapters.persistence.profile._modelo_runtime
"""Runtime-backed repository helpers shared by the modelo persistence adapters.Shared private helpers for the sibling modelo catalogue repositories(:mod:`~adapters.persistence.profile.modelos_calculation`,``modelos_filing``, ``modelos_work_units``, ``modelos_verification_reports``,and ``participation_index``): a bucket-id resolver and a runtime factory thatreturns a:class:`~adapters.persistence.storage.SecureObjectRepository` bound to theactive profile bucket. Both live in the persistence adapter alongside therepositories they serve, so the secure-object coupling is a same-layer``adapters -> adapters.persistence.storage`` import rather than a``domain -> adapters`` violation.See Also: :func:`~core.resolve_repository_bucket_id` Shared resolver for explicit-or-active profile bucket ids. :func:`~adapters.persistence.storage.secure_object_repository_for_bucket` Runtime storage factory used after the modelo bucket id is resolved. :mod:`~adapters.persistence.profile.modelos_calculation` Calculation-revision repository consumer of these modelo helpers. :mod:`~adapters.persistence.profile.participation_index` Participation-index repository consumer with the same runtime boundary. :class:`~domain.modelos.CalculationRevisionCatalogueRepositoryProtocol` Domain repository port implemented by the calculation-revision adapter."""from__future__importannotationsfromtypingimportTYPE_CHECKINGfrom....coreimportresolve_repository_bucket_idfrom..storageimportsecure_object_repository_for_bucketifTYPE_CHECKING:# pragma: no cover — type-only importsfrom....domain.modelosimportModeloErrorfrom..storageimportSecureObjectRepository
[docs]defresolve_modelo_repository_bucket_id(bucket_id:str|None,*,error_type:type[ModeloError])->str:"""Return an explicit or active profile bucket id for modelo repositories."""returnresolve_repository_bucket_id(bucket_id,error_type=error_type)
[docs]defsecure_objects_for_modelo_bucket(bucket_id:str)->SecureObjectRepository:"""Return runtime-created secure-object storage for ``bucket_id``. Returns: A :class:`~adapters.persistence.storage.SecureObjectRepository` scoped to the given modelo bucket. """returnsecure_object_repository_for_bucket(bucket_id)