Files
pinchflat/lib/pinchflat/settings/setting.ex
T
Kieran 4994e70652 [Bugfix] Partially revert custom codec selection (#279)
* Removed and re-added codec preference columns

* Removed custom codec work from download options builder

* Updated settings UI

* Made codec preferences non-optional fields
2024-06-04 09:19:37 -07:00

44 lines
892 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,
:video_codec_preference,
:audio_codec_preference
]
@required_fields ~w(
onboarding
pro_enabled
video_codec_preference
audio_codec_preference
)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
field :video_codec_preference, :string
field :audio_codec_preference, :string
end
@doc false
def changeset(setting, attrs) do
setting
|> cast(attrs, @allowed_fields)
|> validate_required(@required_fields)
end
end