entity

Project Collection Item

Line item inside a user product collection. Holds a ProductReference, display order, and script-flag selection.

EntityStatus: Implemented in api-v1

Purpose

A collection item is one line in a ProjectCollection. Short domain name: CollectionItem. Equality of items is by identity; duplicate detection on the aggregate uses ProductReference equality.

Invariants

  • displayOrder must be a non-negative integer.
  • productReference must create successfully (at least one catalog id).
  • markDeleted() sets status deleted without changing selection. Airtable save then omits the item from the parent collection link.

Domain Events

None. Items change only through the parent collection aggregate, which also emits no events.