diff --git a/internal/handlers/handlers.go b/internal/handlers/handlers.go index df620d7..071429b 100644 --- a/internal/handlers/handlers.go +++ b/internal/handlers/handlers.go @@ -96,11 +96,15 @@ func (h *Handlers) UpdateMe(c *fiber.Ctx) error { add("bio", strings.TrimSpace(*req.Bio)) } if req.Gender != nil { - g := *req.Gender - if g != "m" && g != "f" && g != "o" { - return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{"error": "gender must be m, f, o"}) + g := strings.TrimSpace(*req.Gender) + if g == "" { + // пустая строка = NULL (не указан) + add("gender", nil) + } else if g != "m" && g != "f" && g != "o" { + return c.Status(fiber.StatusBadRequest).JSON(fiber.Map{"error": "gender must be m, f, o or empty"}) + } else { + add("gender", g) } - add("gender", g) } if req.PhotoURL != nil { add("photo_url", strings.TrimSpace(*req.PhotoURL))