76 lines
4.3 KiB
Go
76 lines
4.3 KiB
Go
package routes
|
|
|
|
import (
|
|
"github.com/gin-gonic/gin"
|
|
|
|
"git.beifan.cn/trace-system/backend-go/controllers"
|
|
"git.beifan.cn/trace-system/backend-go/middleware"
|
|
)
|
|
|
|
// SetupRoutes 设置路由
|
|
func SetupRoutes(r *gin.Engine) {
|
|
// 健康检查
|
|
r.GET("/api/health", func(c *gin.Context) {
|
|
c.JSON(200, gin.H{
|
|
"status": "ok",
|
|
"message": "服务器运行正常",
|
|
})
|
|
})
|
|
}
|
|
|
|
// SetupAPIRoutes 设置 API 路由
|
|
func SetupAPIRoutes(r *gin.RouterGroup) {
|
|
// 认证路由
|
|
authController := controllers.NewAuthController()
|
|
authRoutes := r.Group("/auth")
|
|
{
|
|
authRoutes.POST("/login", authController.Login)
|
|
authRoutes.POST("/logout", middleware.JWTAuthMiddleware(), authController.Logout)
|
|
authRoutes.GET("/profile", middleware.JWTAuthMiddleware(), authController.GetProfile)
|
|
authRoutes.PUT("/profile", middleware.JWTAuthMiddleware(), authController.UpdateProfile)
|
|
authRoutes.POST("/change-password", middleware.JWTAuthMiddleware(), authController.ChangePassword)
|
|
}
|
|
|
|
// 序列号路由
|
|
serialsController := controllers.NewSerialsController()
|
|
serialsRoutes := r.Group("/serials")
|
|
{
|
|
serialsRoutes.PATCH("/:serialNumber", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), serialsController.Update)
|
|
serialsRoutes.POST("/generate", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), serialsController.Generate)
|
|
serialsRoutes.POST("/generate-with-prefix", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), serialsController.GenerateWithPrefix)
|
|
serialsRoutes.POST("/:serialNumber/qrcode", middleware.JWTAuthMiddleware(), serialsController.GenerateQRCode)
|
|
serialsRoutes.GET("/:serialNumber/query", serialsController.Query)
|
|
serialsRoutes.GET("/", middleware.JWTAuthMiddleware(), serialsController.FindAll)
|
|
serialsRoutes.PUT("/:serialNumber", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), serialsController.Update)
|
|
serialsRoutes.POST("/:serialNumber/revoke", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), serialsController.Revoke)
|
|
}
|
|
|
|
// 企业管理路由
|
|
companiesController := controllers.NewCompaniesController()
|
|
companiesRoutes := r.Group("/companies")
|
|
{
|
|
companiesRoutes.GET("/stats/overview", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), companiesController.StatsOverview)
|
|
companiesRoutes.GET("/", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), companiesController.FindAll)
|
|
companiesRoutes.GET("/:companyName", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), companiesController.FindOne)
|
|
companiesRoutes.POST("/", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), companiesController.Create)
|
|
companiesRoutes.PATCH("/:companyName", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), companiesController.Update)
|
|
companiesRoutes.PUT("/:companyName", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), companiesController.Update)
|
|
companiesRoutes.DELETE("/:companyName/serials/:serialNumber", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), companiesController.DeleteSerial)
|
|
companiesRoutes.POST("/:companyName/revoke", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), companiesController.Revoke)
|
|
companiesRoutes.DELETE("/:companyName", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), companiesController.Delete)
|
|
}
|
|
|
|
// 员工赋码路由
|
|
employeeSerialsController := controllers.NewEmployeeSerialsController()
|
|
employeeSerialsRoutes := r.Group("/employee-serials")
|
|
{
|
|
employeeSerialsRoutes.PATCH("/:serialNumber", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), employeeSerialsController.Update)
|
|
employeeSerialsRoutes.POST("/generate", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), employeeSerialsController.Generate)
|
|
employeeSerialsRoutes.POST("/:serialNumber/qrcode", middleware.JWTAuthMiddleware(), employeeSerialsController.GenerateQRCode)
|
|
employeeSerialsRoutes.GET("/:serialNumber/query", employeeSerialsController.Query)
|
|
employeeSerialsRoutes.GET("/", middleware.JWTAuthMiddleware(), employeeSerialsController.FindAll)
|
|
employeeSerialsRoutes.PUT("/:serialNumber", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), employeeSerialsController.Update)
|
|
employeeSerialsRoutes.POST("/:serialNumber/revoke", middleware.JWTAuthMiddleware(), middleware.AdminMiddleware(), employeeSerialsController.Revoke)
|
|
}
|
|
}
|