julee.repositories.minio.assembly_specification

Minio implementation of AssemblySpecificationRepository.

This module provides a Minio-based implementation of the AssemblySpecificationRepository protocol that follows the Clean Architecture patterns defined in the Fun-Police Framework. It handles assembly specification storage with complete JSON schemas and knowledge service query configurations, ensuring idempotency and proper error handling.

The implementation stores assembly specifications as JSON objects in Minio, following the large payload handling pattern from the architectural guidelines. Each specification is stored as a complete JSON document with its schema and query mappings.

Classes

MinioAssemblySpecificationRepository

Minio implementation of AssemblySpecificationRepository using Minio for

Module Contents

class julee.repositories.minio.assembly_specification.MinioAssemblySpecificationRepository(client)[source]

Bases: julee.domain.repositories.assembly_specification.AssemblySpecificationRepository, julee.repositories.minio.client.MinioRepositoryMixin

Minio implementation of AssemblySpecificationRepository using Minio for persistence.

This implementation stores assembly specifications as JSON objects in the “assembly-specifications” bucket. Each specification includes its complete JSON schema definition and knowledge service query mappings.

async generate_id()[source]

Generate a unique assembly specification identifier.

async get(assembly_specification_id)[source]

Retrieve an assembly specification by ID.

async get_many(assembly_specification_ids)[source]

Retrieve multiple assembly specifications by ID.

Parameters:
  • assembly_specification_ids (list[str]) – List of unique specification

  • identifiers

Returns:

Dict mapping specification_id to AssemblySpecification (or None if not found)

Return type:

dict[str, julee.domain.models.assembly_specification.AssemblySpecification | None]

async list_all()[source]

List all assembly specifications.

Returns:

List of all assembly specifications, sorted by assembly_specification_id

Return type:

list[julee.domain.models.assembly_specification.AssemblySpecification]

async save(assembly_specification)[source]

Save an assembly specification to Minio.

client[source]
logger[source]
specifications_bucket = 'assembly-specifications'[source]