From c51382055b941c441f9656e9fde81add052f149a Mon Sep 17 00:00:00 2001 From: mkelvers Date: Sun, 10 May 2026 18:13:14 +0200 Subject: [PATCH] refactor: remove global auth service pattern --- internal/middleware/auth.go | 43 ------------------------------------- internal/server/routes.go | 2 -- 2 files changed, 45 deletions(-) diff --git a/internal/middleware/auth.go b/internal/middleware/auth.go index b6b2a89..6876dda 100644 --- a/internal/middleware/auth.go +++ b/internal/middleware/auth.go @@ -3,19 +3,12 @@ package middleware import ( "context" "net/http" - "strings" "mal/api/auth" ctxpkg "mal/internal/context" "mal/internal/db" ) -var authSvc *auth.Service - -func InitAuth(service *auth.Service) { - authSvc = service -} - func Auth(authService *auth.Service) func(http.Handler) http.Handler { return func(next http.Handler) http.Handler { return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { @@ -37,42 +30,6 @@ func Auth(authService *auth.Service) func(http.Handler) http.Handler { } } -func RequireAuth(next http.Handler) http.Handler { - return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - cookie, err := r.Cookie("session_id") - if err != nil { - if strings.HasPrefix(r.URL.Path, "/api/") { - w.Header().Set("HX-Redirect", "/login") - http.Error(w, "Unauthorized", http.StatusUnauthorized) - } else { - http.Redirect(w, r, "/login", http.StatusFound) - } - return - } - - if authSvc != nil { - user, err := authSvc.ValidateSession(r.Context(), cookie.Value) - if err == nil { - ctx := context.WithValue(r.Context(), ctxpkg.UserKey, user) - r = r.WithContext(ctx) - } - } - - user := GetUser(r.Context()) - if user == nil { - if strings.HasPrefix(r.URL.Path, "/api/") { - w.Header().Set("HX-Redirect", "/login") - http.Error(w, "Unauthorized", http.StatusUnauthorized) - } else { - http.Redirect(w, r, "/login", http.StatusFound) - } - return - } - - next.ServeHTTP(w, r) - }) -} - func GetUser(ctx context.Context) *db.User { user, ok := ctx.Value(ctxpkg.UserKey).(*db.User) if !ok { diff --git a/internal/server/routes.go b/internal/server/routes.go index bff65e6..f5a7ebd 100644 --- a/internal/server/routes.go +++ b/internal/server/routes.go @@ -68,8 +68,6 @@ func NewRouter(cfg Config) http.Handler { watchlistSvc := watchlist.NewService(cfg.DB, cfg.SQLDB, cfg.JikanClient) watchlistHandler := watchlist.NewHandler(watchlistSvc) - middleware.InitAuth(cfg.AuthService) - animeSvc := anime.NewService(cfg.JikanClient, cfg.DB) animeHandler := anime.NewHandler(animeSvc)