From 82c644dc9c46d507a17796973c7a76672007ec11 Mon Sep 17 00:00:00 2001 From: valitovgaziz Date: Mon, 13 Oct 2025 04:55:37 +0500 Subject: [PATCH] modified: serv_nginx/api_bb/internal/handlers/handler_util.go modified: serv_nginx/api_bb/internal/handlers/handlers.go modified: serv_nginx/api_bb/internal/handlers/user.go modified: serv_nginx/api_bb/internal/service/user_service.go change responseData for getProfile endPoint api_bb --- serv_nginx/api_bb/internal/handlers/handler_util.go | 1 + serv_nginx/api_bb/internal/handlers/handlers.go | 8 ++++++++ serv_nginx/api_bb/internal/handlers/user.go | 3 +++ serv_nginx/api_bb/internal/service/user_service.go | 2 ++ 4 files changed, 14 insertions(+) diff --git a/serv_nginx/api_bb/internal/handlers/handler_util.go b/serv_nginx/api_bb/internal/handlers/handler_util.go index 161a7c8..041f95a 100644 --- a/serv_nginx/api_bb/internal/handlers/handler_util.go +++ b/serv_nginx/api_bb/internal/handlers/handler_util.go @@ -11,6 +11,7 @@ func toUserResponse(user *models.User) UserResponse { Email: user.Email, FirstName: user.FirstName, LastName: user.LastName, + Avatar: user.Avatar, Phone: user.Phone, Experience: user.Experience, Goals: user.Goals, diff --git a/serv_nginx/api_bb/internal/handlers/handlers.go b/serv_nginx/api_bb/internal/handlers/handlers.go index 67e7b28..95d8082 100644 --- a/serv_nginx/api_bb/internal/handlers/handlers.go +++ b/serv_nginx/api_bb/internal/handlers/handlers.go @@ -13,6 +13,7 @@ import ( type Handler struct { healthHandler *HealthHandler authHandler *AuthHandler + userHandler *UserHandler // Здесь будут добавлены другие обработчики // userHandler *UserHandler // eventHandler *EventHandler @@ -29,14 +30,17 @@ func NewHandler(db *gorm.DB, cfg *config.Config) *Handler { // Инициализация сервисов jwtService := service.NewJWTService(cfg.JWTSecret) authService := service.NewAuthService(userRepo, jwtService, baseLogger) + userService := service.NewUserService(userRepo, jwtService, baseLogger) // Инициализация обработчиков healthHandler := NewHealthHandler() authHandler := NewAuthHandler(authService, jwtService) + userHandler := NewUserHandler(&userService) return &Handler{ healthHandler: healthHandler, authHandler: authHandler, + userHandler: userHandler, } } @@ -48,3 +52,7 @@ func (h *Handler) HealthHandler() *HealthHandler { func (h *Handler) AuthHandler() *AuthHandler { return h.authHandler } + +func (h *Handler) UserHandler() *UserHandler { // ДОБАВЛЕН геттер для UserHandler + return h.userHandler +} diff --git a/serv_nginx/api_bb/internal/handlers/user.go b/serv_nginx/api_bb/internal/handlers/user.go index f75ace3..a8c0e88 100644 --- a/serv_nginx/api_bb/internal/handlers/user.go +++ b/serv_nginx/api_bb/internal/handlers/user.go @@ -44,6 +44,7 @@ type UserResponse struct { Email string `json:"email"` FirstName string `json:"firstName"` LastName string `json:"lastName"` + Avatar string `json:"avatar"` Phone string `json:"phone"` Experience string `json:"experience"` Goals string `json:"goals"` @@ -53,6 +54,7 @@ type UserResponse struct { UpdatedAt time.Time `json:"updated_at"` } + func (h *UserHandler) GetProfile(w http.ResponseWriter, r *http.Request) { h.logger.Info("handling get profile request", @@ -71,6 +73,7 @@ func (h *UserHandler) GetProfile(w http.ResponseWriter, r *http.Request) { h.logger.Info("profile retrieved successfully", zap.Uint("user_id", user.ID), zap.String("email", user.Email), + zap.String("avatar", user.Avatar), ) utils.RespondWithJSON(w, http.StatusOK, toUserResponse(user)) diff --git a/serv_nginx/api_bb/internal/service/user_service.go b/serv_nginx/api_bb/internal/service/user_service.go index d1e4da3..9ae243b 100644 --- a/serv_nginx/api_bb/internal/service/user_service.go +++ b/serv_nginx/api_bb/internal/service/user_service.go @@ -54,11 +54,13 @@ func (s *authService) UpdateProfile(user *models.User) error { // Убеждаемся, что email не меняется user.Email = existingUser.Email + user.Avatar = existingUser.Avatar updateData := &models.User{ ID: user.ID, FirstName: user.FirstName, LastName: user.LastName, + Avatar: user.Avatar, Phone: user.Phone, Experience: user.Experience, Goals: user.Goals,