julee.domain.models.assembly.assembly

Assembly domain models for the Capture, Extract, Assemble, Publish workflow.

This module contains the Assembly domain object that represents the actual assembly process/instance in the CEAP workflow system.

An Assembly represents a specific instance of assembling a document using an AssemblySpecification. It links an input document with an assembly specification and produces a single assembled document as output.

All domain models use Pydantic BaseModel for validation, serialization, and type safety, following the patterns established in the sample project.

Classes

Assembly

Assembly process that links a specification with input document and

AssemblyStatus

Status of an assembly process.

Module Contents

class julee.domain.models.assembly.assembly.Assembly(/, **data)[source]

Bases: pydantic.BaseModel

Assembly process that links a specification with input document and produces an assembled document.

An Assembly represents a specific instance of the document assembly process. It connects an AssemblySpecification (which defines how to assemble) with an input Document (what to assemble from) and produces a single assembled document as output.

classmethod assembled_document_id_must_not_be_empty_if_provided(v)[source]
classmethod assembly_id_must_not_be_empty(v)[source]
classmethod assembly_specification_id_must_not_be_empty(v)[source]
classmethod input_document_id_must_not_be_empty(v)[source]
classmethod workflow_id_must_not_be_empty(v)[source]
assembled_document_id: str | None = None[source]
assembly_id: str = None[source]
assembly_specification_id: str = None[source]
created_at: datetime.datetime | None = None[source]
input_document_id: str = None[source]
status: AssemblyStatus[source]
updated_at: datetime.datetime | None = None[source]
workflow_id: str = None[source]
class julee.domain.models.assembly.assembly.AssemblyStatus[source]

Bases: str, enum.Enum

Status of an assembly process.

CANCELLED = 'cancelled'[source]
COMPLETED = 'completed'[source]
FAILED = 'failed'[source]
IN_PROGRESS = 'in_progress'[source]
PENDING = 'pending'[source]