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 регистрация аккаунта пользователя
func (h *AuthHandler) Register(w http.ResponseWriter, r *http.Request) {
l := logger.Get()
l.Debug("Регистрация нового пользователя AuthHandler")
l.Info("Начало обработки запроса регистрации")
var req RegisterRequest
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
}
l.Info("Завершение обработки запроса регистрации")
w.WriteHeader(http.StatusCreated)
json.NewEncoder(w).Encode(response)
}
@@ -82,7 +83,7 @@ func (h *AuthHandler) Register(w http.ResponseWriter, r *http.Request) {
// Login вход пользователя
func (h *AuthHandler) Login(w http.ResponseWriter, r *http.Request) {
l := logger.Get()
l.Debug("Вход пользователя AuthHandler")
l.Info("Начало обработки запроса входа")
var req LoginRequest
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
}
l.Info("Завершение обработки запроса входа")
w.WriteHeader(http.StatusOK)
json.NewEncoder(w).Encode(response)
}
@@ -134,7 +136,7 @@ func (h *AuthHandler) Login(w http.ResponseWriter, r *http.Request) {
// RefreshToken обновление токена
func (h *AuthHandler) RefreshToken(w http.ResponseWriter, r *http.Request) {
l := logger.Get()
l.Debug("Обновление токена AuthHandler")
l.Info("Начало обработки запроса обновления токена")
// Получаем токен из заголовка Authorization
authHeader := r.Header.Get("Authorization")
@@ -157,6 +159,7 @@ func (h *AuthHandler) RefreshToken(w http.ResponseWriter, r *http.Request) {
return
}
l.Info("Завершение обработки запроса обновления токена")
w.WriteHeader(http.StatusOK)
json.NewEncoder(w).Encode(response)
}
@@ -164,7 +167,7 @@ func (h *AuthHandler) RefreshToken(w http.ResponseWriter, r *http.Request) {
// Logout выход пользователя
func (h *AuthHandler) Logout(w http.ResponseWriter, r *http.Request) {
l := logger.Get()
l.Debug("Выход пользователя AuthHandler")
l.Info("Начало обработки запроса выхода")
// Получаем ID пользователя из контекста (устанавливается middleware)
userID, ok := r.Context().Value(middleware.UserIDKey).(uint)
@@ -179,6 +182,7 @@ func (h *AuthHandler) Logout(w http.ResponseWriter, r *http.Request) {
return
}
l.Info("Завершение обработки запроса выхода")
w.WriteHeader(http.StatusOK)
json.NewEncoder(w).Encode(map[string]string{
"message": "Successfully logged out",
@@ -13,6 +13,10 @@ import (
)
// AuthService интерфейс сервиса аутентификации
// Register регистрирует нового пользователя
// Login аутентифицирует пользователя
// RefreshToken обновляет JWT токен
// Logout завершает сессию пользователя
type AuthService interface {
Register(req RegisterRequest) (*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) {
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
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("Регистрация успешно завершена", zap.String("email", req.Email))
return response, nil
}
// Login вход пользователя
// Login аутентифицирует пользователя
func (s *authServiceImpl) Login(req LoginRequest) (*AuthResponse, error) {
l := logger.Get()
l.Debug("Вход пользователя: %s", zap.String("Email", req.Email))
l.Info("Начало входа пользователя", zap.String("email", req.Email))
// Ищем пользователя по 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("Вход успешно завершен", zap.String("email", req.Email))
return response, nil
}
// RefreshToken обновление токена
// RefreshToken обновляет JWT токен
func (s *authServiceImpl) RefreshToken(token string) (*AuthResponse, error) {
l := logger.Get()
l.Debug("Обновление токена")
l.Info("Начало обновления токена")
// Парсим и валидируем токен
claims := &jwt.RegisteredClaims{}
@@ -187,6 +193,7 @@ func (s *authServiceImpl) RefreshToken(token string) (*AuthResponse, error) {
return nil, err
}
l.Info("Обновление токена успешно завершено")
return &AuthResponse{
Token: newToken,
ExpiresAt: expiresAt,
@@ -196,9 +203,8 @@ func (s *authServiceImpl) RefreshToken(token string) (*AuthResponse, error) {
// Logout выход пользователя
func (s *authServiceImpl) Logout(userID uint) error {
l := logger.Get()
l.Debug("Выход пользователя: %d", zap.Uint("userID", userID))
// В реальном проекте здесь можно добавить токен в черный список
// или удалить refresh token из базы данных
l.Info("Начало выхода пользователя", zap.Uint("userID", userID))
l.Info("Выход успешно завершен", zap.Uint("userID", userID))
return nil
}