defmodule Prymn.Servers.Server do use Ecto.Schema import Ecto.Changeset schema "servers" do field :name, :string field :ipv4, :string field :ipv6, :string field :provider, Ecto.Enum, values: [:Hetzner, :Custom] field :connection_token, Ecto.UUID, redact: true timestamps() end @doc false def changeset(server, attrs) do server |> cast(attrs, [:name, :provider]) |> validate_required([:name, :provider, :connection_token]) |> validate_inclusion(:provider, [:Custom], message: "Provider not available (yet)") end end