package event import ( "nixcn-cms/middleware" "nixcn-cms/service/service_event" "github.com/gin-gonic/gin" ) type EventHandler struct { svc service_event.EventService } func ApiHandler(r *gin.RouterGroup) { eventSvc := service_event.NewEventService() eventHandler := &EventHandler{eventSvc} // Lv10+ routes lv10 := r.Group("") lv10.Use(middleware.JWTAuth(), middleware.Permission(10)) lv10.GET("/info", eventHandler.Info) lv10.GET("/checkin", eventHandler.Checkin) lv10.GET("/checkin/query", eventHandler.CheckinQuery) lv10.POST("/join", eventHandler.Join) lv10.GET("/guide", eventHandler.Guide) // Lv20+ routes lv20 := r.Group("") lv20.Use(middleware.JWTAuth(), middleware.Permission(20)) lv20.POST("/checkin/submit", eventHandler.CheckinSubmit) // Lv30+ routes lv30 := r.Group("") lv30.Use(middleware.JWTAuth(), middleware.Permission(30)) lv30.GET("/list", eventHandler.List) lv30.POST("/create", eventHandler.Create) lv30.PATCH("/update", eventHandler.Update) lv30.GET("/attendance", eventHandler.AttendanceList) lv30.GET("/stats", eventHandler.Stats) // Lv40+ routes lv40 := r.Group("") lv40.Use(middleware.JWTAuth(), middleware.Permission(40)) lv40.DELETE("/delete", eventHandler.Delete) }