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:
@@ -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
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user