pinchflat/lib/pinchflat/settings/setting.ex
2024-04-08 11:14:44 -07:00

36 lines
693 B
Elixir

defmodule Pinchflat.Settings.Setting do
@moduledoc """
The Setting schema.
"""
use Ecto.Schema
import Ecto.Changeset
@allowed_fields [
:onboarding,
:pro_enabled,
:yt_dlp_version,
:apprise_version,
:apprise_server
]
@required_fields ~w(
onboarding
pro_enabled
)a
schema "settings" do
field :onboarding, :boolean, default: true
field :pro_enabled, :boolean, default: false
field :yt_dlp_version, :string
field :apprise_version, :string
field :apprise_server, :string
end
@doc false
def changeset(setting, attrs) do
setting
|> cast(attrs, @allowed_fields)
|> validate_required(@required_fields)
end
end