From: PhiTux Date: Wed, 10 Sep 2025 14:38:55 +0000 (+0200) Subject: admin now sees the env-vars X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=5f0470d6cde2f2c6c65d36c0188f7f3704b926d3;p=DailyTxT.git admin now sees the env-vars --- diff --git a/backend/handlers/admin.go b/backend/handlers/admin.go index f6058e2..930b8fe 100644 --- a/backend/handlers/admin.go +++ b/backend/handlers/admin.go @@ -121,11 +121,15 @@ func GetAdminData(w http.ResponseWriter, r *http.Request) { // Check for old directory and get old users info oldDirInfo := getOldDirectoryInfo() + // Get App Settings (Env-vars) + appSettings := utils.GetAppSettings() + w.Header().Set("Content-Type", "application/json") json.NewEncoder(w).Encode(map[string]any{ - "users": adminUsers, - "free_space": freeSpace, - "old_data": oldDirInfo, + "users": adminUsers, + "free_space": freeSpace, + "old_data": oldDirInfo, + "app_settings": appSettings, }) } diff --git a/backend/handlers/users.go b/backend/handlers/users.go index b1d3bed..c35bbbe 100644 --- a/backend/handlers/users.go +++ b/backend/handlers/users.go @@ -234,6 +234,11 @@ type RegisterRequest struct { // Register handles user registration // The API endpoint func RegisterHandler(w http.ResponseWriter, r *http.Request) { + if !utils.Settings.AllowRegistration { + http.Error(w, "Registration is not allowed", http.StatusForbidden) + return + } + // Parse the request body var req RegisterRequest if err := json.NewDecoder(r.Body).Decode(&req); err != nil { diff --git a/backend/utils/helpers.go b/backend/utils/helpers.go index 7b754a7..c13402b 100644 --- a/backend/utils/helpers.go +++ b/backend/utils/helpers.go @@ -121,6 +121,17 @@ func InitSettings() error { return nil } +func GetAppSettings() AppSettings { + // dont't show secret - remove it! + var tempSettings AppSettings + + data, _ := json.Marshal(Settings) + json.Unmarshal(data, &tempSettings) + + tempSettings.SecretToken = "" + return tempSettings +} + func GetUserIDByUsername(username string) (int, error) { // Get users users, err := GetUsers() diff --git a/frontend/src/lib/settings/Admin.svelte b/frontend/src/lib/settings/Admin.svelte index f69090e..10e1e62 100644 --- a/frontend/src/lib/settings/Admin.svelte +++ b/frontend/src/lib/settings/Admin.svelte @@ -23,6 +23,7 @@ let freeSpace = $state(0); let oldData = $state({}); let users = $state([]); + let appSettings = $state({}); let isLoadingUsers = $state(false); let deleteUserId = $state(null); let isDeletingUser = $state(false); @@ -83,6 +84,7 @@ users = response.data.users || []; freeSpace = response.data.free_space; oldData = response.data.old_data; + appSettings = response.data.app_settings || {}; } catch (error) { console.error('Error loading users:', error); if (error.response?.status === 401) { @@ -129,6 +131,7 @@ adminPassword = ''; adminAuthError = ''; users = []; + appSettings = {}; deleteUserId = null; } @@ -423,6 +426,51 @@ {/if} + +
+
+

⚙️ {$t('settings.admin.environment_variables')}

+
+
+

+ {$t('settings.admin.environment_variables_description')} +

+ + {#if Object.keys(appSettings).length > 0} +
+ {#each Object.entries(appSettings) as [key, value]} +
+
+
+ {key}: +
+
+ + {#if Array.isArray(value)} + {JSON.stringify(value)} + {:else if typeof value === 'boolean'} + + {value ? 'true' : 'false'} + + {:else if key === 'secret_token' && value === ''} + {$t('settings.admin.hidden_for_security')} + {:else} + {value} + {/if} + +
+
+
+ {/each} +
+ {:else} +

{$t('settings.admin.no_environment_variables')}

+ {/if} +
+
+