nulla/lib/nulla/models/instance_settings.ex
2025-06-08 10:58:48 +02:00

44 lines
1.1 KiB
Elixir

defmodule Nulla.Models.InstanceSettings do
use Ecto.Schema
import Ecto.Changeset
alias Nulla.Repo
alias Nulla.Models.InstanceSettings
schema "instance_settings" do
field :name, :string, default: "Nulla"
field :description, :string, default: "Freedom Social Network"
field :domain, :string, default: "localhost"
field :registration, :boolean, default: false
field :max_characters, :integer, default: 5000
field :max_upload_size, :integer, default: 50
field :public_key, :string
field :private_key, :string
end
@doc false
def changeset(instance_settings, attrs) do
instance_settings
|> cast(attrs, [
:name,
:description,
:domain,
:registration,
:max_characters,
:max_upload_size,
:public_key,
:private_key
])
|> validate_required([
:name,
:description,
:domain,
:registration,
:max_characters,
:max_upload_size,
:public_key,
:private_key
])
end
def get_instance_settings!, do: Repo.one!(InstanceSettings)
end