Skip to main content

lib/crosswake/offline/content_pack.ex

defmodule Crosswake.Offline.ContentPack do
  @moduledoc """
  Data structure representing an offline content pack.
  """

  @derive Jason.Encoder
  @enforce_keys [:id, :version, :kind]
  defstruct [:id, :version, :kind, :integrity, assets: [], data_payloads: []]

  @type t :: %__MODULE__{
          id: String.t(),
          version: String.t(),
          kind: atom(),
          integrity: map() | nil,
          assets: [String.t()],
          data_payloads: [String.t()]
        }
end