refac: split the auth handler into registration and login, account verification, and password reset handlers, each with its own dependencies

This commit is contained in:
fsylvain committed 2026-09-25 06:14:53 +02:00
1 parent 3282b0580c
commit 9b47685002
18 files changed
+497 -452

No files matched your search

+2 -12
View File
@@ -13,29 +13,19 @@ import (
"time"
"github.com/go-chi/chi/v5"
"github.com/go-chi/jwtauth/v5"
)
func newRequestPasswordResetRouter(userRepo *mockUserRepo, mailRepo *mockMailRepo, publicURL string) *chi.Mux {
hasher := &stubHasher{}
token := jwtauth.New("HS256", []byte("test-secret"), nil)
authHandler := auth.NewHandler(
token,
useCases.NewGetUserUseCase(userRepo),
useCases.NewListUsersUseCase(userRepo),
useCases.NewCreateUserUseCase(userRepo, hasher, mailRepo, publicURL),
useCases.NewAuthenticateUserUseCase(userRepo, hasher),
useCases.NewVerifyUserUseCase(userRepo, hasher),
useCases.NewCancelRegistrationUseCase(userRepo),
passwordResetHandler := auth.NewPasswordResetHandler(
useCases.NewRequestPasswordResetUseCase(userRepo, hasher, mailRepo, publicURL),
useCases.NewResetPasswordUseCase(userRepo, hasher),
true,
)
r := chi.NewRouter()
r.Route("/v1", func(r chi.Router) {
r.Route("/auth", func(r chi.Router) {
r.Post("/password-reset", authHandler.RequestPasswordReset)
r.Post("/password-reset", passwordResetHandler.RequestPasswordReset)
})
})
return r