implement JWT tokens, regenerate docs and sqlc

This commit is contained in:
zardzul
2026-03-14 18:46:48 +01:00
parent 131aee8638
commit d5e608feeb
18 changed files with 441 additions and 82 deletions
+10 -2
View File
@@ -3,13 +3,14 @@ package routes
import (
"net/http"
"zardzul/music-index/handlers"
"zardzul/music-index/middleware"
"github.com/gin-gonic/gin"
swaggerFiles "github.com/swaggo/files"
ginSwagger "github.com/swaggo/gin-swagger"
)
func Routes(router *gin.Engine, userHandler *handlers.UserHandler, artistHandler *handlers.ArtistHandler) {
func Routes(router *gin.Engine, userHandler *handlers.UserHandler, artistHandler *handlers.ArtistHandler, jwtSecret string) {
root := router.Group("/api/v1")
{
root.GET("/ping", func(c *gin.Context) {
@@ -21,10 +22,17 @@ func Routes(router *gin.Engine, userHandler *handlers.UserHandler, artistHandler
user := root.Group("/users")
{
user.POST("/create", userHandler.CreateUser)
user.GET("/:id", userHandler.GetUsernameByID)
user.POST("/login", userHandler.Login)
}
protectedUser := root.Group("/users")
protectedUser.Use(middleware.JWTAuth(jwtSecret))
{
protectedUser.GET("/:id", userHandler.GetUsernameByID)
}
artist := root.Group("/artists")
artist.Use(middleware.JWTAuth(jwtSecret))
{
artist.GET("/", artistHandler.GetAll)
}