PhoenixKitCatalogue.Schemas.PdfPage (PhoenixKitCatalogue v0.1.17)

Copy Markdown View Source

Per-page join row keyed by (file_uuid, page_number).

Rows reference the file (cascade on file hard delete) and the phoenix_kit_cat_pdf_page_contents cache by content_hash.

No text column here — the actual page text lives in the dedup cache. To read page text, join to :content.

No updated_at — pages are write-once; re-extraction means deleting and re-inserting (or hard-deleting the file and re-uploading).

Summary

Types

t()

@type t() :: %PhoenixKitCatalogue.Schemas.PdfPage{
  __meta__: term(),
  content: term(),
  content_hash: term(),
  file_uuid: term(),
  inserted_at: term(),
  page_number: term()
}

Functions

changeset(page, attrs)

@spec changeset(
  t()
  | %PhoenixKitCatalogue.Schemas.PdfPage{
      __meta__: term(),
      content: term(),
      content_hash: term(),
      file_uuid: term(),
      inserted_at: term(),
      page_number: term()
    },
  map()
) :: Ecto.Changeset.t(t())