diff --git a/internal/handlers/auth.go b/internal/handlers/auth.go index 5819bdf..8d9085c 100644 --- a/internal/handlers/auth.go +++ b/internal/handlers/auth.go @@ -700,57 +700,6 @@ func (h *AuthHandler) DeleteAccount(c echo.Context) error { return c.JSON(http.StatusOK, map[string]string{"message": message}) } -type UpdateScanSettingsRequest struct { - ScanFrequencyMinutes int32 `json:"scan_frequency_minutes" validate:"required,min=15,max=1440"` - AutoScanEnabled bool `json:"auto_scan_enabled"` -} - -// UpdateScanSettings handles PUT /api/library/scan-settings -func (h *AuthHandler) UpdateScanSettings(c echo.Context) error { - user := MustGetAuthenticatedUser(c) - - var req UpdateScanSettingsRequest - if err := c.Bind(&req); err != nil { - return c.JSON(http.StatusBadRequest, map[string]string{"error": "invalid request"}) - } - if err := c.Validate(&req); err != nil { - return c.JSON(http.StatusBadRequest, map[string]string{"error": err.Error()}) - } - - err := h.db.UpdateScanSettings(c.Request().Context(), database.UpdateScanSettingsParams{ - ID: user.ID, - ScanFrequencyMinutes: pgtype.Int4{Int32: req.ScanFrequencyMinutes, Valid: true}, - AutoScanEnabled: pgtype.Bool{Bool: req.AutoScanEnabled, Valid: true}, - }) - if err != nil { - return c.JSON(http.StatusInternalServerError, map[string]string{"error": err.Error()}) - } - - return c.JSON(http.StatusOK, map[string]string{"message": "scan settings updated successfully"}) -} - -// GetScanSettings handles GET /api/library/scan-settings -func (h *AuthHandler) GetScanSettings(c echo.Context) error { - user := MustGetAuthenticatedUser(c) - - settings, err := h.db.GetScanSettings(c.Request().Context(), user.ID) - if err != nil { - if err == pgx.ErrNoRows { - // If no settings found, return defaults - return c.JSON(http.StatusOK, map[string]interface{}{ - "scan_frequency_minutes": 60, - "auto_scan_enabled": true, - }) - } - return c.JSON(http.StatusInternalServerError, map[string]string{"error": err.Error()}) - } - - return c.JSON(http.StatusOK, map[string]interface{}{ - "scan_frequency_minutes": settings.ScanFrequencyMinutes.Int32, - "auto_scan_enabled": settings.AutoScanEnabled.Bool, - }) -} - type UpdateUserMaxDevicesRequest struct { MaxDevices int32 `json:"max_devices" validate:"required,min=1,max=100"` }