mirror of
https://github.com/snowykami/neo-blog.git
synced 2025-09-05 16:56:22 +00:00
⚡ implement OIDC configuration management with CRUD operations, add admin routes, and enhance error handling
This commit is contained in:
20
internal/router/apiv1/console.go
Normal file
20
internal/router/apiv1/console.go
Normal file
@ -0,0 +1,20 @@
|
||||
package apiv1
|
||||
|
||||
import (
|
||||
"github.com/cloudwego/hertz/pkg/route"
|
||||
v1 "github.com/snowykami/neo-blog/internal/controller/v1"
|
||||
"github.com/snowykami/neo-blog/internal/middleware"
|
||||
)
|
||||
|
||||
func registerAdminRoutes(group *route.RouterGroup) {
|
||||
// Need Admin Middleware
|
||||
adminController := v1.NewAdminController()
|
||||
consoleGroup := group.Group("/admin").Use(middleware.UseAuth(true))
|
||||
{
|
||||
consoleGroup.POST("/oidc/o", adminController.CreateOidc)
|
||||
consoleGroup.DELETE("/oidc/o/:id", adminController.DeleteOidc)
|
||||
consoleGroup.GET("/oidc/o/:id", adminController.GetOidcByID)
|
||||
consoleGroup.GET("/oidc/list", adminController.ListOidc)
|
||||
consoleGroup.PUT("/oidc/o/:id", adminController.UpdateOidc)
|
||||
}
|
||||
}
|
@ -9,13 +9,14 @@ import (
|
||||
// post 文章API路由
|
||||
|
||||
func registerPostRoutes(group *route.RouterGroup) {
|
||||
postController := v1.NewPostController()
|
||||
postGroup := group.Group("/post").Use(middleware.UseAuth(true))
|
||||
postGroupWithoutAuth := group.Group("/post").Use(middleware.UseAuth(false))
|
||||
{
|
||||
postGroupWithoutAuth.GET("/p/:id", v1.Post.Get)
|
||||
postGroupWithoutAuth.GET("/list", v1.Post.List)
|
||||
postGroup.POST("/p", v1.Post.Create)
|
||||
postGroup.PUT("/p", v1.Post.Update)
|
||||
postGroup.DELETE("/p", v1.Post.Delete)
|
||||
postGroupWithoutAuth.GET("/p/:id", postController.Get)
|
||||
postGroupWithoutAuth.GET("/list", postController.List)
|
||||
postGroup.POST("/p", postController.Create)
|
||||
postGroup.PUT("/p", postController.Update)
|
||||
postGroup.DELETE("/p", postController.Delete)
|
||||
}
|
||||
}
|
||||
|
@ -7,17 +7,18 @@ import (
|
||||
)
|
||||
|
||||
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", v1.User.Login)
|
||||
userGroupWithoutAuthNeedsCaptcha.POST("/register", v1.User.Register)
|
||||
userGroupWithoutAuthNeedsCaptcha.POST("/email/verify", v1.User.VerifyEmail) // Send email verification code
|
||||
userGroupWithoutAuth.GET("/oidc/list", v1.User.OidcList)
|
||||
userGroupWithoutAuth.GET("/oidc/login/:name", v1.User.OidcLogin)
|
||||
userGroupWithoutAuth.GET("/u/:id", v1.User.GetUser)
|
||||
userGroup.POST("/logout", v1.User.Logout)
|
||||
userGroup.PUT("/u/:id", v1.User.UpdateUser)
|
||||
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.POST("/logout", userController.Logout)
|
||||
userGroup.PUT("/u/:id", userController.UpdateUser)
|
||||
}
|
||||
}
|
||||
|
@ -6,6 +6,7 @@ func RegisterRoutes(h *server.Hertz) {
|
||||
apiV1Group := h.Group("/api/v1")
|
||||
{
|
||||
registerCommentRoutes(apiV1Group)
|
||||
registerAdminRoutes(apiV1Group)
|
||||
registerFileRoutes(apiV1Group)
|
||||
registerLabelRoutes(apiV1Group)
|
||||
registerPageRoutes(apiV1Group)
|
||||
|
Reference in New Issue
Block a user