41 lines
1.4 KiB
Go
41 lines
1.4 KiB
Go
package api
|
|
|
|
import (
|
|
admincore "veza-backend-api/internal/core/admin"
|
|
"veza-backend-api/internal/services"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// setupAdminPlatformRoutes registers admin platform management routes (v0.11.3 F421-F435)
|
|
func (r *APIRouter) setupAdminPlatformRoutes(router *gin.RouterGroup) {
|
|
platformService := services.NewAdminPlatformService(r.db.GormDB, r.logger)
|
|
platformHandler := admincore.NewPlatformAdminHandler(platformService, r.logger)
|
|
|
|
admin := router.Group("/admin/platform")
|
|
{
|
|
if r.config.AuthMiddleware != nil {
|
|
admin.Use(r.config.AuthMiddleware.RequireAuth())
|
|
admin.Use(r.config.AuthMiddleware.RequireAdmin())
|
|
}
|
|
|
|
// F421: Platform metrics
|
|
admin.GET("/metrics", platformHandler.GetPlatformMetrics)
|
|
|
|
// F422: User management
|
|
admin.GET("/users", platformHandler.SearchUsers)
|
|
admin.GET("/users/:userId", platformHandler.GetUserDetail)
|
|
admin.PUT("/users/:userId/role", platformHandler.UpdateUserRole)
|
|
admin.POST("/users/:userId/suspend", platformHandler.SuspendUser)
|
|
admin.POST("/users/:userId/unsuspend", platformHandler.UnsuspendUser)
|
|
|
|
// F423: Content management
|
|
admin.GET("/content", platformHandler.SearchContent)
|
|
admin.POST("/content/:id/hide", platformHandler.HideContent)
|
|
admin.POST("/content/:id/restore", platformHandler.RestoreContent)
|
|
|
|
// F424: Payment management
|
|
admin.GET("/payments", platformHandler.GetPaymentOverview)
|
|
admin.POST("/orders/:id/refund", platformHandler.RefundOrder)
|
|
}
|
|
}
|