47 lines
1.6 KiB
Go
47 lines
1.6 KiB
Go
package routes
|
|
|
|
import (
|
|
"cloudnest/internal/interface/http/handler"
|
|
"cloudnest/internal/middleware"
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// RegisterAuthRoutes registers authentication-related routes.
|
|
// RegisterAuthRoutes 注册认证相关的路由。
|
|
//
|
|
// Parameters:
|
|
// - r: The router group to register routes on.
|
|
// - h: The authentication handler.
|
|
// - emailHandler: The email verification handler.
|
|
//
|
|
// Routes:
|
|
// - POST /register: Register a new user.
|
|
// - POST /login: Authenticate and get JWT token.
|
|
// - POST /email-code: Send email verification code.
|
|
// - GET /profile: Get user profile (requires JWT).
|
|
// - PUT /profile: Update user profile (requires JWT).
|
|
// - PUT /password: Change password (requires JWT).
|
|
//
|
|
// 参数:
|
|
// - r: 要注册路由的路由器组。
|
|
// - h: 认证处理器。
|
|
// - emailHandler: 邮箱验证码处理器。
|
|
//
|
|
// 路由:
|
|
// - POST /register: 注册新用户。
|
|
// - POST /login: 认证并获取 JWT 令牌。
|
|
// - POST /email-code: 发送邮箱验证码。
|
|
// - GET /profile: 获取用户个人信息(需要 JWT)。
|
|
// - PUT /profile: 更新用户个人信息(需要 JWT)。
|
|
// - PUT /password: 修改密码(需要 JWT)。
|
|
func RegisterAuthRoutes(r *gin.RouterGroup, h *handler.AuthHandler, emailHandler *handler.EmailHandler, jwtSecret string) {
|
|
r.POST("/register", h.Register)
|
|
r.POST("/login", h.Login)
|
|
r.POST("/email-code", emailHandler.SendEmailCode)
|
|
|
|
protected := r.Group("")
|
|
protected.Use(middleware.JWT(jwtSecret))
|
|
protected.GET("/profile", h.Profile)
|
|
protected.PUT("/profile", h.UpdateProfile)
|
|
protected.PUT("/password", h.ChangePassword)
|
|
} |