modified: main_dc/yalarba/api_yal/internal/domain/auth/handler.go

modified:   main_dc/yalarba/api_yal/internal/domain/auth/servcie.go
change logger from debug to infolavel
This commit is contained in:
2026-03-10 09:58:02 +05:00
parent d45c5841dc
commit 8c63b1fbb9
2 changed files with 23 additions and 13 deletions
@@ -31,7 +31,7 @@ func NewAuthHandler(authService *AuthService) *AuthHandler {
// Register регистрация аккаунта пользователя // Register регистрация аккаунта пользователя
func (h *AuthHandler) Register(w http.ResponseWriter, r *http.Request) { func (h *AuthHandler) Register(w http.ResponseWriter, r *http.Request) {
l := logger.Get() l := logger.Get()
l.Debug("Регистрация нового пользователя AuthHandler") l.Info("Начало обработки запроса регистрации")
var req RegisterRequest var req RegisterRequest
if err := json.NewDecoder(r.Body).Decode(&req); err != nil { if err := json.NewDecoder(r.Body).Decode(&req); err != nil {
@@ -75,6 +75,7 @@ func (h *AuthHandler) Register(w http.ResponseWriter, r *http.Request) {
return return
} }
l.Info("Завершение обработки запроса регистрации")
w.WriteHeader(http.StatusCreated) w.WriteHeader(http.StatusCreated)
json.NewEncoder(w).Encode(response) json.NewEncoder(w).Encode(response)
} }
@@ -82,7 +83,7 @@ func (h *AuthHandler) Register(w http.ResponseWriter, r *http.Request) {
// Login вход пользователя // Login вход пользователя
func (h *AuthHandler) Login(w http.ResponseWriter, r *http.Request) { func (h *AuthHandler) Login(w http.ResponseWriter, r *http.Request) {
l := logger.Get() l := logger.Get()
l.Debug("Вход пользователя AuthHandler") l.Info("Начало обработки запроса входа")
var req LoginRequest var req LoginRequest
if err := json.NewDecoder(r.Body).Decode(&req); err != nil { if err := json.NewDecoder(r.Body).Decode(&req); err != nil {
@@ -127,6 +128,7 @@ func (h *AuthHandler) Login(w http.ResponseWriter, r *http.Request) {
return return
} }
l.Info("Завершение обработки запроса входа")
w.WriteHeader(http.StatusOK) w.WriteHeader(http.StatusOK)
json.NewEncoder(w).Encode(response) json.NewEncoder(w).Encode(response)
} }
@@ -134,7 +136,7 @@ func (h *AuthHandler) Login(w http.ResponseWriter, r *http.Request) {
// RefreshToken обновление токена // RefreshToken обновление токена
func (h *AuthHandler) RefreshToken(w http.ResponseWriter, r *http.Request) { func (h *AuthHandler) RefreshToken(w http.ResponseWriter, r *http.Request) {
l := logger.Get() l := logger.Get()
l.Debug("Обновление токена AuthHandler") l.Info("Начало обработки запроса обновления токена")
// Получаем токен из заголовка Authorization // Получаем токен из заголовка Authorization
authHeader := r.Header.Get("Authorization") authHeader := r.Header.Get("Authorization")
@@ -157,6 +159,7 @@ func (h *AuthHandler) RefreshToken(w http.ResponseWriter, r *http.Request) {
return return
} }
l.Info("Завершение обработки запроса обновления токена")
w.WriteHeader(http.StatusOK) w.WriteHeader(http.StatusOK)
json.NewEncoder(w).Encode(response) json.NewEncoder(w).Encode(response)
} }
@@ -164,7 +167,7 @@ func (h *AuthHandler) RefreshToken(w http.ResponseWriter, r *http.Request) {
// Logout выход пользователя // Logout выход пользователя
func (h *AuthHandler) Logout(w http.ResponseWriter, r *http.Request) { func (h *AuthHandler) Logout(w http.ResponseWriter, r *http.Request) {
l := logger.Get() l := logger.Get()
l.Debug("Выход пользователя AuthHandler") l.Info("Начало обработки запроса выхода")
// Получаем ID пользователя из контекста (устанавливается middleware) // Получаем ID пользователя из контекста (устанавливается middleware)
userID, ok := r.Context().Value(middleware.UserIDKey).(uint) userID, ok := r.Context().Value(middleware.UserIDKey).(uint)
@@ -179,6 +182,7 @@ func (h *AuthHandler) Logout(w http.ResponseWriter, r *http.Request) {
return return
} }
l.Info("Завершение обработки запроса выхода")
w.WriteHeader(http.StatusOK) w.WriteHeader(http.StatusOK)
json.NewEncoder(w).Encode(map[string]string{ json.NewEncoder(w).Encode(map[string]string{
"message": "Successfully logged out", "message": "Successfully logged out",
@@ -13,6 +13,10 @@ import (
) )
// AuthService интерфейс сервиса аутентификации // AuthService интерфейс сервиса аутентификации
// Register регистрирует нового пользователя
// Login аутентифицирует пользователя
// RefreshToken обновляет JWT токен
// Logout завершает сессию пользователя
type AuthService interface { type AuthService interface {
Register(req RegisterRequest) (*AuthResponse, error) Register(req RegisterRequest) (*AuthResponse, error)
Login(req LoginRequest) (*AuthResponse, error) Login(req LoginRequest) (*AuthResponse, error)
@@ -34,10 +38,10 @@ func NewAuthService(accountRepo repository.AccountRepository, jwtSecret string)
} }
} }
// Register регистрация нового пользователя // Register регистрирует нового пользователя
func (s *authServiceImpl) Register(req RegisterRequest) (*AuthResponse, error) { func (s *authServiceImpl) Register(req RegisterRequest) (*AuthResponse, error) {
l := logger.Get() l := logger.Get()
l.Debug("Регистрация пользователя AuthService") l.Info("Начало регистрации нового пользователя", zap.String("email", req.Email), zap.String("first_name", req.FirstName), zap.String("last_name", req.LastName))
// Проверяем, существует ли пользователь с таким email // Проверяем, существует ли пользователь с таким email
existingUser, err := s.accountRepo.GetByEmail(req.Email) existingUser, err := s.accountRepo.GetByEmail(req.Email)
@@ -94,13 +98,14 @@ func (s *authServiceImpl) Register(req RegisterRequest) (*AuthResponse, error) {
} }
l.Info("Пользователь успешно зарегистрирован: %s", zap.String("Email", req.Email)) l.Info("Пользователь успешно зарегистрирован: %s", zap.String("Email", req.Email))
l.Info("Регистрация успешно завершена", zap.String("email", req.Email))
return response, nil return response, nil
} }
// Login вход пользователя // Login аутентифицирует пользователя
func (s *authServiceImpl) Login(req LoginRequest) (*AuthResponse, error) { func (s *authServiceImpl) Login(req LoginRequest) (*AuthResponse, error) {
l := logger.Get() l := logger.Get()
l.Debug("Вход пользователя: %s", zap.String("Email", req.Email)) l.Info("Начало входа пользователя", zap.String("email", req.Email))
// Ищем пользователя по email // Ищем пользователя по email
account, err := s.accountRepo.GetByEmail(req.Email) account, err := s.accountRepo.GetByEmail(req.Email)
@@ -145,13 +150,14 @@ func (s *authServiceImpl) Login(req LoginRequest) (*AuthResponse, error) {
} }
l.Info("Пользователь успешно вошел: %s", zap.String("Email", req.Email)) l.Info("Пользователь успешно вошел: %s", zap.String("Email", req.Email))
l.Info("Вход успешно завершен", zap.String("email", req.Email))
return response, nil return response, nil
} }
// RefreshToken обновление токена // RefreshToken обновляет JWT токен
func (s *authServiceImpl) RefreshToken(token string) (*AuthResponse, error) { func (s *authServiceImpl) RefreshToken(token string) (*AuthResponse, error) {
l := logger.Get() l := logger.Get()
l.Debug("Обновление токена") l.Info("Начало обновления токена")
// Парсим и валидируем токен // Парсим и валидируем токен
claims := &jwt.RegisteredClaims{} claims := &jwt.RegisteredClaims{}
@@ -187,6 +193,7 @@ func (s *authServiceImpl) RefreshToken(token string) (*AuthResponse, error) {
return nil, err return nil, err
} }
l.Info("Обновление токена успешно завершено")
return &AuthResponse{ return &AuthResponse{
Token: newToken, Token: newToken,
ExpiresAt: expiresAt, ExpiresAt: expiresAt,
@@ -196,9 +203,8 @@ func (s *authServiceImpl) RefreshToken(token string) (*AuthResponse, error) {
// Logout выход пользователя // Logout выход пользователя
func (s *authServiceImpl) Logout(userID uint) error { func (s *authServiceImpl) Logout(userID uint) error {
l := logger.Get() l := logger.Get()
l.Debug("Выход пользователя: %d", zap.Uint("userID", userID)) l.Info("Начало выхода пользователя", zap.Uint("userID", userID))
// В реальном проекте здесь можно добавить токен в черный список l.Info("Выход успешно завершен", zap.Uint("userID", userID))
// или удалить refresh token из базы данных
return nil return nil
} }