julee.repositories.minio.assembly

Minio implementation of AssemblyRepository.

This module provides a Minio-based implementation of the AssemblyRepository protocol that follows the Clean Architecture patterns defined in the Fun-Police Framework. It handles assembly storage, ensuring idempotency and proper error handling.

The implementation stores assembly data as JSON objects in Minio, following the large payload handling pattern from the architectural guidelines.

Classes

MinioAssemblyRepository

Minio implementation of AssemblyRepository using Minio for persistence.

Module Contents

class julee.repositories.minio.assembly.MinioAssemblyRepository(client)[source]

Bases: julee.domain.repositories.assembly.AssemblyRepository, julee.repositories.minio.client.MinioRepositoryMixin

Minio implementation of AssemblyRepository using Minio for persistence.

This implementation stores assembly data as JSON objects in the “assemblies” bucket.

async generate_id()[source]

Generate a unique assembly identifier.

async get(assembly_id)[source]

Retrieve an assembly by ID.

async get_many(assembly_ids)[source]

Retrieve multiple assemblies by ID.

Parameters:

assembly_ids (list[str]) – List of unique assembly identifiers

Returns:

Dict mapping assembly_id to Assembly (or None if not found)

Return type:

dict[str, julee.domain.models.assembly.Assembly | None]

async save(assembly)[source]

Save assembly metadata (status, updated_at, etc.).

assembly_bucket = 'assemblies'[source]
client[source]
logger[source]