From 884310d9510b80ef7e5a933c077dda55cf79bfe3 Mon Sep 17 00:00:00 2001 From: EUForest Date: Mon, 9 Mar 2026 22:56:20 +0800 Subject: [PATCH] feat(routes): register admin authentication and captcha endpoints - Register /v1/auth/captcha/generate route for user captcha - Register /v1/auth/admin/login route for admin login - Register /v1/auth/admin/reset-password route for admin password reset - Register /v1/auth/admin/captcha/generate route for admin captcha - Add admin authentication route group --- internal/handler/routes.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/internal/handler/routes.go b/internal/handler/routes.go index d811058..dbb6c06 100644 --- a/internal/handler/routes.go +++ b/internal/handler/routes.go @@ -25,6 +25,7 @@ import ( adminTool "github.com/perfect-panel/server/internal/handler/admin/tool" adminUser "github.com/perfect-panel/server/internal/handler/admin/user" auth "github.com/perfect-panel/server/internal/handler/auth" + authAdmin "github.com/perfect-panel/server/internal/handler/auth/admin" authOauth "github.com/perfect-panel/server/internal/handler/auth/oauth" common "github.com/perfect-panel/server/internal/handler/common" publicAnnouncement "github.com/perfect-panel/server/internal/handler/public/announcement" @@ -670,6 +671,9 @@ func RegisterHandlers(router *gin.Engine, serverCtx *svc.ServiceContext) { authGroupRouter.Use(middleware.DeviceMiddleware(serverCtx)) { + // Generate captcha + authGroupRouter.POST("/captcha/generate", auth.GenerateCaptchaHandler(serverCtx)) + // Check user is exist authGroupRouter.GET("/check", auth.CheckUserHandler(serverCtx)) @@ -698,6 +702,20 @@ func RegisterHandlers(router *gin.Engine, serverCtx *svc.ServiceContext) { authGroupRouter.POST("/reset/telephone", auth.TelephoneResetPasswordHandler(serverCtx)) } + authAdminGroupRouter := router.Group("/v1/auth/admin") + authAdminGroupRouter.Use(middleware.DeviceMiddleware(serverCtx)) + + { + // Generate captcha + authAdminGroupRouter.POST("/captcha/generate", authAdmin.AdminGenerateCaptchaHandler(serverCtx)) + + // Admin login + authAdminGroupRouter.POST("/login", authAdmin.AdminLoginHandler(serverCtx)) + + // Admin reset password + authAdminGroupRouter.POST("/reset", authAdmin.AdminResetPasswordHandler(serverCtx)) + } + authOauthGroupRouter := router.Group("/v1/auth/oauth") {