From f2bcf68da202509a1645a8042dd668640fc2b361 Mon Sep 17 00:00:00 2001 From: Moritz Date: Thu, 19 Feb 2026 00:13:53 +0100 Subject: [PATCH] Config: per-field Vereinfacht ENV helpers vereinfacht_api_url_env_set?, vereinfacht_api_key_env_set?, vereinfacht_club_id_env_set? for read-only Settings fields when set. --- lib/mv/config.ex | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/lib/mv/config.ex b/lib/mv/config.ex index f1c7546..f6f6ec7 100644 --- a/lib/mv/config.ex +++ b/lib/mv/config.ex @@ -188,13 +188,35 @@ defmodule Mv.Config do end @doc """ - Returns true if any Vereinfacht ENV variable is set (used to gray out Settings UI). + Returns true if any Vereinfacht ENV variable is set (used to show hint in Settings UI). """ @spec vereinfacht_env_configured?() :: boolean() def vereinfacht_env_configured? do - System.get_env("VEREINFACHT_API_URL") != nil or - System.get_env("VEREINFACHT_API_KEY") != nil or - System.get_env("VEREINFACHT_CLUB_ID") != nil + vereinfacht_api_url_env_set?() or vereinfacht_api_key_env_set?() or + vereinfacht_club_id_env_set?() + end + + @doc """ + Returns true if VEREINFACHT_API_URL is set (field is read-only in Settings). + """ + def vereinfacht_api_url_env_set?, do: env_set?("VEREINFACHT_API_URL") + + @doc """ + Returns true if VEREINFACHT_API_KEY is set (field is read-only in Settings). + """ + def vereinfacht_api_key_env_set?, do: env_set?("VEREINFACHT_API_KEY") + + @doc """ + Returns true if VEREINFACHT_CLUB_ID is set (field is read-only in Settings). + """ + def vereinfacht_club_id_env_set?, do: env_set?("VEREINFACHT_CLUB_ID") + + defp env_set?(key) do + case System.get_env(key) do + nil -> false + v when is_binary(v) -> String.trim(v) != "" + _ -> false + end end defp env_or_setting(env_key, setting_key) do