Files
VLoop/internal/http/router.go
2025-12-05 14:03:57 +08:00

38 lines
937 B
Go

package http
import (
"feedsystem_video_go/internal/account"
"feedsystem_video_go/internal/middleware"
"github.com/gin-gonic/gin"
"gorm.io/gorm"
)
func SetRouter(db *gorm.DB) *gin.Engine {
r := gin.Default()
userRepository := account.NewUserRepository(db)
userService := account.NewUserService(userRepository)
userHandler := NewUserHandler(userService)
userGroup := r.Group("/user")
{
userGroup.POST("/register", userHandler.CreateUser)
userGroup.POST("/rename", userHandler.RenameByID)
userGroup.POST("/changePassword", userHandler.ChangePassword)
userGroup.POST("/findByID", userHandler.FindByID)
userGroup.POST("/findByUsername", userHandler.FindByUsername)
}
authGroup := r.Group("/auth")
{
authGroup.POST("/login", userHandler.Login)
}
protectedAuthGroup := authGroup.Group("")
protectedAuthGroup.Use(middleware.JWTAuth())
{
protectedAuthGroup.POST("/logout", userHandler.Logout)
}
return r
}