webring/apps/webring/lib/webring/invite.ex

21 lines
522 B
Elixir

defmodule Webring.Invite do
use Ecto.Schema
import Ecto.Changeset
schema "invites" do
field(:code, :string)
field(:ends_at, :utc_datetime, default: ~U[2100-01-01 00:00:00Z])
field(:uses, :integer, default: 0)
field(:max_uses, :integer, default: -1)
field(:disabled, :boolean, default: false)
timestamps()
end
def changeset(invite, params) do
invite
|> cast(params, [:code, :ends_at, :uses, :disabled])
|> validate_required([:code])
|> unique_constraint(:code)
end
end