mirror of
https://github.com/snowykami/neo-blog.git
synced 2025-09-05 00:36:23 +00:00
feat: create random labels page feat: implement login page with OpenID Connect support feat: add Gravatar component for user avatars feat: create Navbar component with navigation menu chore: create Sidebar component placeholder feat: implement login form with OIDC and email/password options feat: add reusable button component feat: create card component for structured content display feat: implement input component for forms feat: create label component for form labels feat: add navigation menu component for site navigation chore: add configuration file for site metadata feat: implement device context for responsive design feat: add utility functions for class name management feat: define OIDC configuration model feat: define base response model for API responses feat: define user model for user data feat: implement i18n for internationalization support feat: add English and Chinese translations for login chore: create index for locale resources chore: add blog home view placeholder
26 lines
1.1 KiB
Go
26 lines
1.1 KiB
Go
package apiv1
|
|
|
|
import (
|
|
"github.com/cloudwego/hertz/pkg/route"
|
|
"github.com/snowykami/neo-blog/internal/controller/v1"
|
|
"github.com/snowykami/neo-blog/internal/middleware"
|
|
)
|
|
|
|
func registerUserRoutes(group *route.RouterGroup) {
|
|
userController := v1.NewUserController()
|
|
userGroup := group.Group("/user").Use(middleware.UseAuth(true))
|
|
userGroupWithoutAuth := group.Group("/user")
|
|
userGroupWithoutAuthNeedsCaptcha := userGroupWithoutAuth.Use(middleware.UseCaptcha())
|
|
{
|
|
userGroupWithoutAuthNeedsCaptcha.POST("/login", userController.Login)
|
|
userGroupWithoutAuthNeedsCaptcha.POST("/register", userController.Register)
|
|
userGroupWithoutAuthNeedsCaptcha.POST("/email/verify", userController.VerifyEmail) // Send email verification code
|
|
userGroupWithoutAuth.GET("/oidc/list", userController.OidcList)
|
|
userGroupWithoutAuth.GET("/oidc/login/:name", userController.OidcLogin)
|
|
userGroupWithoutAuth.GET("/u/:id", userController.GetUser)
|
|
userGroup.GET("/u", userController.GetUser)
|
|
userGroup.POST("/logout", userController.Logout)
|
|
userGroup.PUT("/u/:id", userController.UpdateUser)
|
|
}
|
|
}
|