feat: expose immutable postbox file references

This commit is contained in:
2026-08-07 14:53:38 +02:00
parent cb37079465
commit 1e511e4c15
7 changed files with 417 additions and 3 deletions
@@ -731,6 +731,21 @@ def read_asset_bytes(session: Session, asset: FileAsset) -> tuple[bytes, FileVer
return read_verified_blob_bytes(blob, backend=backend), version, blob
def read_asset_version_bytes(
session: Session,
asset: FileAsset,
version_id: str,
) -> tuple[bytes, FileVersion, FileBlob]:
version = session.get(FileVersion, version_id)
if version is None or version.file_asset_id != asset.id:
raise FileStorageError("File version not found")
blob = session.get(FileBlob, version.blob_id)
if blob is None or blob.tenant_id != asset.tenant_id:
raise FileStorageError("File blob not found")
backend = get_storage_backend()
return read_verified_blob_bytes(blob, backend=backend), version, blob
def share_file(
session: Session,
*,