0.3.05
This commit is contained in:
@@ -11,10 +11,10 @@ import (
|
||||
)
|
||||
|
||||
// adminGatewaySettingsResponse is deliberately three things at once: what the operator has
|
||||
// chosen, what the container was started with, and what is therefore in force. A settings
|
||||
// page that showed only the first would leave every empty field looking like a value of
|
||||
// nothing, when an empty field here means "whatever .env says" — and the operator has no
|
||||
// other way to see what that is without opening a file on the NAS.
|
||||
// chosen, the deployed or server defaults, and what is therefore in force. A settings page
|
||||
// that showed only the first would leave every empty environment-backed field looking like
|
||||
// a value of nothing, when it means "whatever .env says" — and the operator has no other
|
||||
// way to see that without opening a file on the NAS.
|
||||
type adminGatewaySettingsResponse struct {
|
||||
Settings store.GatewaySettings `json:"settings"`
|
||||
Deployed deployedGatewaySettings `json:"deployed"`
|
||||
@@ -22,7 +22,8 @@ type adminGatewaySettingsResponse struct {
|
||||
// LogLevels is the vocabulary rather than a list the console keeps its own copy of,
|
||||
// for the reason the preference catalogue is served with the accounts page: a value
|
||||
// the server would refuse must never be offerable.
|
||||
LogLevels []string `json:"logLevels"`
|
||||
LogLevels []string `json:"logLevels"`
|
||||
NotificationDisplays []string `json:"notificationDisplays"`
|
||||
// Version and Timezone name the process this page is about, so the page can identify
|
||||
// the gateway it is changing without a second request.
|
||||
Version string `json:"version"`
|
||||
@@ -34,17 +35,19 @@ func (s *Server) gatewaySettingsResponse() adminGatewaySettingsResponse {
|
||||
Settings: settings,
|
||||
Deployed: s.deployedSettings(),
|
||||
Effective: deployedGatewaySettings{
|
||||
Timezone: s.householdTimezoneName(),
|
||||
LogLevel: s.effectiveLogLevel(),
|
||||
SessionIdleDays: int(s.sessionIdleExpiry() / (24 * time.Hour)),
|
||||
SonarrAlertMinutes: int(s.sonarrAlertWindow() / time.Minute),
|
||||
RadarrAlertMinutes: int(s.radarrAlertWindow() / time.Minute),
|
||||
EmbyHealthSeconds: int(s.embyHealthInterval() / time.Second),
|
||||
SlowRequestMillis: effectiveSlowRequestMillis(s.slowRequestThreshold()),
|
||||
LibrarySyncMinutes: int(s.LibrarySyncInterval() / time.Minute),
|
||||
Timezone: s.householdTimezoneName(),
|
||||
LogLevel: s.effectiveLogLevel(),
|
||||
SessionIdleDays: int(s.sessionIdleExpiry() / (24 * time.Hour)),
|
||||
SonarrAlertMinutes: int(s.sonarrAlertWindow() / time.Minute),
|
||||
RadarrAlertMinutes: int(s.radarrAlertWindow() / time.Minute),
|
||||
NotificationDisplay: s.notificationDisplay(),
|
||||
EmbyHealthSeconds: int(s.embyHealthInterval() / time.Second),
|
||||
SlowRequestMillis: effectiveSlowRequestMillis(s.slowRequestThreshold()),
|
||||
LibrarySyncMinutes: int(s.LibrarySyncInterval() / time.Minute),
|
||||
},
|
||||
LogLevels: store.GatewayLogLevels,
|
||||
Version: buildinfo.Version(),
|
||||
LogLevels: store.GatewayLogLevels,
|
||||
NotificationDisplays: store.GatewayNotificationDisplays,
|
||||
Version: buildinfo.Version(),
|
||||
}
|
||||
}
|
||||
|
||||
@@ -94,6 +97,7 @@ func (s *Server) handleAdminGatewaySettings(w http.ResponseWriter, r *http.Reque
|
||||
|
||||
s.loggerFor(r.Context()).Info("gateway settings changed",
|
||||
"timezone", s.householdTimezoneName(), "log_level", s.effectiveLogLevel(),
|
||||
"notification_display", s.notificationDisplay(),
|
||||
"session_idle_days", int(s.sessionIdleExpiry()/(24*time.Hour)),
|
||||
"operator", operator)
|
||||
if summary := gatewaySettingsChanges(previous, stored); summary != "" {
|
||||
@@ -130,6 +134,9 @@ func gatewaySettingsChanges(before, after store.GatewaySettings) string {
|
||||
if before.RadarrAlertMinutes != after.RadarrAlertMinutes {
|
||||
changes = append(changes, "film alert window")
|
||||
}
|
||||
if before.NotificationDisplay != after.NotificationDisplay {
|
||||
changes = append(changes, "notification display")
|
||||
}
|
||||
if before.EmbyHealthSeconds != after.EmbyHealthSeconds {
|
||||
changes = append(changes, "Emby health probe")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user