poex/lib/poex/pads/document.ex

25 lines
530 B
Elixir

defmodule Poex.Pads.Document do
@moduledoc """
Schema for PadDocuments created by users
"""
use Ecto.Schema
import Ecto.Changeset
@primary_key {:id, Ecto.UUID, autogenerate: true}
schema "pad_documents" do
field :title, :string
field :contents, {:array, :map}, default: []
has_many :operations, Poex.Pads.Operation
timestamps(type: :utc_datetime)
end
@doc false
def changeset(document, attrs) do
document
|> cast(attrs, [:title, :contents])
|> cast_assoc(:operations)
end
end