From 20d9947642b9f91c276ed41d68497ecc51810b00 Mon Sep 17 00:00:00 2001 From: LandaMm Date: Mon, 19 May 2025 16:36:37 +0200 Subject: [PATCH] feat: remove login route from user service --- internal/user/routes.go | 64 ----------------------------------------- 1 file changed, 64 deletions(-) diff --git a/internal/user/routes.go b/internal/user/routes.go index 5e40acd..729373c 100644 --- a/internal/user/routes.go +++ b/internal/user/routes.go @@ -3,15 +3,11 @@ package user import ( "context" "encoding/json" - "fmt" "net/http" - "time" - "gitea.local/admin/hspguard/internal/auth" "gitea.local/admin/hspguard/internal/repository" "gitea.local/admin/hspguard/internal/web" "github.com/go-chi/chi/v5" - "github.com/golang-jwt/jwt/v5" ) type UserHandler struct { @@ -28,7 +24,6 @@ func (h *UserHandler) RegisterRoutes(router chi.Router, api chi.Router) { router.Get("/login", h.loginPage) router.Get("/register", h.registerPage) api.Post("/register", h.register) - api.Post("/login", h.login) } func (h *UserHandler) loginPage(w http.ResponseWriter, r *http.Request) { @@ -98,62 +93,3 @@ func (h *UserHandler) register(w http.ResponseWriter, r *http.Request) { } } -type LoginParams struct { - Email string `json:"email"` - Password string `json:"password"` -} - -type UserClaims struct { - UserID string `json:"user_id"` - // Role - jwt.RegisteredClaims -} - -func (h *UserHandler) login(w http.ResponseWriter, r *http.Request) { - var params LoginParams - - decoder := json.NewDecoder(r.Body) - if err := decoder.Decode(¶ms); err != nil { - web.Error(w, "failed to parse request body", http.StatusBadRequest) - return - } - - if params.Email == "" || params.Password == "" { - web.Error(w, "missing required fields", http.StatusBadRequest) - return - } - - user, err := h.repo.FindUserEmail(context.Background(), params.Email) - if err != nil { - web.Error(w, "user with provided email does not exists", http.StatusBadRequest) - return - } - - claims := UserClaims{ - UserID: user.ID.String(), - RegisteredClaims: jwt.RegisteredClaims{ - Issuer: "hspguard", - Subject: user.Email, - IssuedAt: jwt.NewNumericDate(time.Now()), - ExpiresAt: jwt.NewNumericDate(time.Now().Add(time.Hour)), - }, - } - - token, err := auth.SignJwtToken(claims) - if err != nil { - web.Error(w, fmt.Sprintf("failed to generate access token: %v", err), http.StatusBadRequest) - return - } - - encoder := json.NewEncoder(w) - - type Response struct { - Token string `json:"token"` - } - - if err := encoder.Encode(Response{ - Token: token, - }); err != nil { - web.Error(w, "failed to encode response", http.StatusInternalServerError) - } -}