Files
wish/lib/wish/wishlist/item.ex

30 lines
694 B
Elixir

defmodule Wish.Wishlist.Item do
use Ecto.Schema
import Ecto.Changeset
schema "items" do
field :description, :string
field :title, :string
field :url, :string
field :received, :boolean, default: false
field :desire, :integer
field :image_url, :string
field :price, :integer
field :visible, :boolean
timestamps(type: :utc_datetime)
end
@doc false
def changeset(item, attrs) do
item
|> cast(attrs, [:title, :description, :url, :price, :received, :desire, :image_url, :visible])
|> validate_required([:url])
end
def toggle_received_changeset(item) do
new_state = !item.received
change(item, received: new_state)
end
end