feat: adjust routes and make use of middlewares in each one

This commit is contained in:
2025-05-30 21:24:48 +02:00
parent 45e31b41ca
commit 013f300513
2 changed files with 27 additions and 5 deletions

View File

@ -31,7 +31,8 @@ func (h *AdminHandler) RegisterRoutes(router chi.Router) {
adminMiddleware := imiddleware.NewAdminMiddleware(h.repo) adminMiddleware := imiddleware.NewAdminMiddleware(h.repo)
r.Use(authMiddleware.Runner, adminMiddleware.Runner) r.Use(authMiddleware.Runner, adminMiddleware.Runner)
r.Post("/api-services/create", h.AddApiService) r.Get("/api-services", h.GetApiServices)
r.Post("/api-services", h.AddApiService)
}) })
} }
@ -43,7 +44,25 @@ func (h *AdminHandler) GetApiServices(w http.ResponseWriter, r *http.Request) {
return return
} }
apiServices := make([]ApiServiceDTO, 0)
for _, service := range services {
apiServices = append(apiServices, NewApiServiceDTO(service))
}
type Response struct {
Items []ApiServiceDTO `json:"items"`
Count int `json:"count"`
}
encoder := json.NewEncoder(w)
if err := encoder.Encode(Response{
Items: apiServices,
Count: len(apiServices),
}); err != nil {
web.Error(w, "failed to encode response", http.StatusInternalServerError)
}
} }
type AddServiceRequest struct { type AddServiceRequest struct {
@ -104,7 +123,7 @@ func (h *AdminHandler) AddApiService(w http.ResponseWriter, r *http.Request) {
service.ClientSecret = clientSecret service.ClientSecret = clientSecret
encoder := json.NewEncoder(w) encoder := json.NewEncoder(w)
if err := encoder.Encode(service); err != nil { if err := encoder.Encode(NewApiServiceDTO(service)); err != nil {
web.Error(w, "failed to encode response", http.StatusInternalServerError) web.Error(w, "failed to encode response", http.StatusInternalServerError)
} }
} }

View File

@ -3,6 +3,7 @@ package auth
import ( import (
"encoding/json" "encoding/json"
"fmt" "fmt"
"log"
"net/http" "net/http"
"strings" "strings"
"time" "time"
@ -31,7 +32,7 @@ func (h *AuthHandler) signTokens(user *repository.User) (string, string, error)
Issuer: h.cfg.Jwt.Issuer, Issuer: h.cfg.Jwt.Issuer,
Subject: user.ID.String(), Subject: user.ID.String(),
IssuedAt: jwt.NewNumericDate(time.Now()), IssuedAt: jwt.NewNumericDate(time.Now()),
ExpiresAt: jwt.NewNumericDate(time.Now().Add(15 * time.Minute)), ExpiresAt: jwt.NewNumericDate(time.Now().Add(15 * time.Second)),
}, },
} }
@ -193,6 +194,8 @@ func (h *AuthHandler) login(w http.ResponseWriter, r *http.Request) {
return return
} }
log.Printf("DEBUG: looking for user with following params: %#v\n", params)
user, err := h.repo.FindUserEmail(r.Context(), params.Email) user, err := h.repo.FindUserEmail(r.Context(), params.Email)
if err != nil { if err != nil {
web.Error(w, "user with provided email does not exists", http.StatusBadRequest) web.Error(w, "user with provided email does not exists", http.StatusBadRequest)