25 lines
530 B
Elixir
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
|