entity

Product Image

Catalog image metadata and publishing state for a product model or variant.

EntityStatus: Implemented in api-v1

Purpose

Product images connect scraped or manually curated image records to persistent media URLs and Airtable attachment fields. Image publishing is an application workflow; the domain model describes the image record and attachment set.

Supabase objects are catalog-scoped, keyed {imageRecordId}/original. They are not project copies. Create or delete of image records on a variant that is currently on a Design project_product_variants row is ProductVariantImagesChanged. Destroying the Airtable images row still deletes the store object via afterAirtableProductImageRecordsDestroyed.

Invariants

  • A product image requires a non-empty URL.
  • It belongs to exactly one product model or product variant.
  • Published URLs and attachment payloads preserve enough metadata for clients and downstream design workflows.
  • ForPublishingProductImages
  • ForReadingCatalogResources

OpenAPI Operations