defmodule Ketbin.Pastes.Paste do use Ecto.Schema import Ecto.Changeset @derive {Jason.Encoder, only: [:content, :is_url, :belongs_to]} @primary_key {:id, :string, autogenerate: false} @derive {Phoenix.Param, key: :id} schema "pastes" do field :content, :string field :is_url, :boolean, default: false field :belongs_to, :id end @doc false def changeset(paste, attrs) do paste |> cast(attrs, [:is_url, :content, :id, :belongs_to]) |> validate_required([:is_url, :content]) |> unique_constraint(:id, name: :pastes_pkey) end end