Files
tp/main_dc/yalarba/api_yal/internal/domain/auth/router.go
T
valitovgaziz 979c265e36 On branch main
modified:   main_dc/yalarba/api_yal/internal/domain/account/handler.go
	modified:   main_dc/yalarba/api_yal/internal/domain/account/router.go
	modified:   main_dc/yalarba/api_yal/internal/domain/account/service.go
	modified:   main_dc/yalarba/api_yal/internal/domain/auth/router.go
	new file:   main_dc/yalarba/api_yal/internal/domain/comment/dto.go
	new file:   main_dc/yalarba/api_yal/internal/domain/feetback/dto.go
	new file:   main_dc/yalarba/api_yal/internal/domain/object/dto.go
	new file:   main_dc/yalarba/api_yal/internal/domain/object/errors.go
	new file:   main_dc/yalarba/api_yal/internal/domain/object/handler.go
	new file:   main_dc/yalarba/api_yal/internal/domain/object/router.go
	new file:   main_dc/yalarba/api_yal/internal/domain/object/service.go
	new file:   main_dc/yalarba/api_yal/internal/domain/object/types.go
	new file:   main_dc/yalarba/api_yal/internal/domain/rating/dto.go
	modified:   main_dc/yalarba/api_yal/internal/models/rating.go
add and not tested Object's domain
2026-03-31 16:53:24 +05:00

52 lines
1.7 KiB
Go

package auth
import (
"api_yal/internal/logger"
"api_yal/internal/middleware"
"api_yal/internal/repository"
"time"
"github.com/go-chi/chi/v5"
"gorm.io/gorm"
)
// RegisterRoutes регистрирует маршруты аутентификации
func RegisterRoutes(r chi.Router, db *gorm.DB, jwtSecret string) {
l := logger.Get()
l.Debug("Регистрация маршрутов для auth.go")
// Создаем репозиторий и сервис
accountRepo := repository.NewAccountRepository(db)
// Конфигурация токенов
authConfig := AuthServiceConfig{
JWTSecret: jwtSecret,
AccessTokenTTL: 15 * time.Minute, // Access token живет 15 минут
RefreshTokenTTL: 7 * 24 * time.Hour, // Refresh token живет 7 дней
}
authService := NewAuthService(accountRepo, authConfig)
handler := NewAuthHandler(authService)
l.Debug("Регистрация маршрутов аутентификации")
r.Route("/auth", func(r chi.Router) {
// Публичные маршруты (без аутентификации)
r.Group(func(r chi.Router) {
r.Post("/login", handler.Login)
r.Post("/register", handler.Register)
r.Post("/refresh", handler.RefreshToken)
r.Post("/reset-password", handler.RequestPasswordReset)
r.Post("/reset-password/confirm", handler.ConfirmPasswordReset)
r.Post("/mobile/login", handler.MobileLogin) // Для мобильных приложений
})
// Защищенные маршруты (требуют аутентификации)
r.Group(func(r chi.Router) {
r.Use(middleware.AuthMiddleware(jwtSecret))
r.Post("/logout", handler.Logout)
r.Post("/change-password", handler.RequestPasswordReset)
})
})
}