From 9c9ea3abb75b40b332031e2fadbef03a8770e28f Mon Sep 17 00:00:00 2001 From: miraikumiko Date: Thu, 29 May 2025 14:09:25 +0200 Subject: [PATCH] Add instance_settings schema --- lib/nulla/instance_settings.ex | 20 +++++++++++++++++++ .../20250527054942_create_instance.exs | 14 +++++++++++++ 2 files changed, 34 insertions(+) create mode 100644 lib/nulla/instance_settings.ex create mode 100644 priv/repo/migrations/20250527054942_create_instance.exs diff --git a/lib/nulla/instance_settings.ex b/lib/nulla/instance_settings.ex new file mode 100644 index 0000000..7ed5956 --- /dev/null +++ b/lib/nulla/instance_settings.ex @@ -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 diff --git a/priv/repo/migrations/20250527054942_create_instance.exs b/priv/repo/migrations/20250527054942_create_instance.exs new file mode 100644 index 0000000..4fe6dc8 --- /dev/null +++ b/priv/repo/migrations/20250527054942_create_instance.exs @@ -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