26d457e656
* [WIP] add settings sidebar entry and placeholder page * [WIP] added placeholder UI and logic for settings form * Added column and UI for apprise server * Add some tests * Added placeholder command runner for apprise * [WIP] Adding apprise package * Added apprise command runner * Hooked up apprise notification module * Ensured apprise was running in verbose mode * Updated wording of apprise notification * Added apprise to README
37 lines
693 B
Elixir
37 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
|