Add instance_settings schema

This commit is contained in:
Mirai Kumiko 2025-05-29 14:09:25 +02:00
parent 36d47c426b
commit 9c9ea3abb7
Signed by: miraikumiko
GPG key ID: 3F178B1B5E0CB278
2 changed files with 34 additions and 0 deletions

View file

@ -0,0 +1,20 @@
defmodule Nulla.InstanceSettings do
use Ecto.Schema
import Ecto.Changeset
schema "instance_settings" do
field :name, :string
field :description, :string
field :domain, :string
field :registration, :boolean, default: false
field :max_characters, :integer
field :max_upload_size, :integer
end
@doc false
def changeset(instance_settings, attrs) do
instance_settings
|> cast(attrs, [:name, :description, :domain, :registration, :max_characters, :max_upload_size])
|> validate_required([:name, :description, :domain, :registration, :max_characters, :max_upload_size])
end
end

View file

@ -0,0 +1,14 @@
defmodule Nulla.Repo.Migrations.CreateInstanceSettings do
use Ecto.Migration
def change do
create table(:instance_settings) do
add :name, :string, default: "Nulla", null: false
add :description, :string, default: "Freedom Social Network", null: false
add :domain, :string, default: "localhost", null: false
add :registration, :boolean, default: false, null: false
add :max_characters, :integer, default: 5000, null: false
add :max_upload_size, :integer, default: 50, null: false
end
end
end