defmodule GigSmart.Model.UserEmail do use Ecto.Schema import Ecto.Changeset alias GigSmart.Model.User @primary_key {:id, Ecto.UUID, autogenerate: true} @foreign_key_type Ecto.UUID schema "user_emails" do field(:address, :string) field(:confirmed, :boolean) timestamps() belongs_to(:user, User) end @permitted_attrs ~w{address}a @required_attrs ~w{address}a @doc false def changeset(%__MODULE__{} = email, attrs \\ %{}) do email |> cast(attrs, @permitted_attrs) |> validate_required(@required_attrs) |> unique_constraint(:address) end end