PhoenixKit.Modules.Storage.VariantSet (phoenix_kit v2.41.0)

Copy Markdown View Source

A variant set: which derived files a library's uploads get (V205).

A library points at a set (variant_set_uuid; NULL means the Default, PhoenixKit.Modules.Storage.VariantSets.default_uuid/0). The set's sizes are its PhoenixKit.Modules.Storage.Dimension rows. Sets are defined by admins only; a user library may choose a set marked selectable.

  • generate_variants — sizes are made automatically after an upload (what the storage_auto_generate_variants setting was);
  • generate_tiles — zoomable tiles are made on request (what storage_tile_generation_enabled was).

revision goes up on every change to the set or its sizes. A file records the set and revision its variants were made by, and is stale, for the reconciler, when either differs from its library's.

Go through PhoenixKit.Modules.Storage.VariantSets rather than this schema.

Summary

Functions

Name and flags. is_default and revision are never cast.

Types

t()

@type t() :: %PhoenixKit.Modules.Storage.VariantSet{
  __meta__: term(),
  dimensions:
    [PhoenixKit.Modules.Storage.Dimension.t()] | Ecto.Association.NotLoaded.t(),
  generate_tiles: boolean(),
  generate_variants: boolean(),
  inserted_at: DateTime.t() | nil,
  is_default: boolean(),
  name: String.t() | nil,
  revision: pos_integer(),
  selectable: boolean(),
  updated_at: DateTime.t() | nil,
  uuid: UUIDv7.t() | nil
}

Functions

changeset(set, attrs)

Name and flags. is_default and revision are never cast.