summaryrefslogtreecommitdiff
path: root/lib/pleroma/config_db.ex
diff options
context:
space:
mode:
Diffstat (limited to 'lib/pleroma/config_db.ex')
-rw-r--r--lib/pleroma/config_db.ex14
1 files changed, 12 insertions, 2 deletions
diff --git a/lib/pleroma/config_db.ex b/lib/pleroma/config_db.ex
index e5b7811aa..8e8bb732f 100644
--- a/lib/pleroma/config_db.ex
+++ b/lib/pleroma/config_db.ex
@@ -6,7 +6,7 @@ defmodule Pleroma.ConfigDB do
use Ecto.Schema
import Ecto.Changeset
- import Ecto.Query, only: [select: 3]
+ import Ecto.Query, only: [select: 3, from: 2]
import Pleroma.Web.Gettext
alias __MODULE__
@@ -41,8 +41,18 @@ defmodule Pleroma.ConfigDB do
end)
end
+ @spec get_all_by_group(atom() | String.t()) :: [t()]
+ def get_all_by_group(group) do
+ from(c in ConfigDB, where: c.group == ^group) |> Repo.all()
+ end
+
+ @spec get_by_group_and_key(atom() | String.t(), atom() | String.t()) :: t() | nil
+ def get_by_group_and_key(group, key) do
+ get_by_params(%{group: group, key: key})
+ end
+
@spec get_by_params(map()) :: ConfigDB.t() | nil
- def get_by_params(params), do: Repo.get_by(ConfigDB, params)
+ def get_by_params(%{group: _, key: _} = params), do: Repo.get_by(ConfigDB, params)
@spec changeset(ConfigDB.t(), map()) :: Changeset.t()
def changeset(config, params \\ %{}) do