44 lines
1.1 KiB
Elixir
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
|