katbin/lib/ketbin/pastes/paste.ex
Amogh Lele 106ae8398e
feat: implement custom URLs
Signed-off-by: Amogh Lele <amolele@gmail.com>
2022-05-28 10:29:47 +05:30

22 lines
576 B
Elixir

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