dotfiles/backend/lib/prymn/servers/server.ex

23 lines
572 B
Elixir
Raw Normal View History

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