diff --git a/internal/router/admin_library.go b/internal/router/admin_library.go index e1059ef..46ad52c 100644 --- a/internal/router/admin_library.go +++ b/internal/router/admin_library.go @@ -10,6 +10,7 @@ import ( "net/http" "os" "path/filepath" + "strconv" "strings" "github.com/google/uuid" @@ -378,3 +379,39 @@ func getAdminStats(ctx context.Context, cfg *Config) templates.AdminStats { return stats } + +func registerAdminSettingsRoutes(cfg *Config, frontendProtected *echo.Group) { + g := frontendProtected.Group("", handlers.AdminMiddleware) + + g.PUT("/admin/settings/scan", func(c *echo.Context) error { + ctx := c.Request().Context() + + autoScan := c.FormValue("auto_scan_enabled") == "true" + intervalStr := c.FormValue("scan_poll_interval_seconds") + interval, err := strconv.Atoi(intervalStr) + if err != nil || interval < 1 || interval > 3600 { + return c.HTML(http.StatusBadRequest, `
Device Sync: { systemConfig["base_url"] }/api/sync
+ @ScanSettingsSection(scanSettings) +These values are hardcoded and require a code change to modify.
+