package status import ( "git.0x7f.app/WOJ/woj-server/internal/misc/log" "git.0x7f.app/WOJ/woj-server/internal/service/status" "git.0x7f.app/WOJ/woj-server/internal/web/jwt" "github.com/gin-gonic/gin" "github.com/samber/do" "go.uber.org/zap" ) var _ Handler = (*handler)(nil) type Handler interface { Query(c *gin.Context) QueryByProblemVersion(c *gin.Context) } type handler struct { log *zap.Logger statusService status.Service jwtService jwt.Service } func RouteRegister(rg *gin.RouterGroup, i *do.Injector) { app := &handler{ log: do.MustInvoke[log.Service](i).GetLogger("api.status"), statusService: do.MustInvoke[status.Service](i), jwtService: do.MustInvoke[jwt.Service](i), } rg.POST("/query", app.Query) rg.POST("/query/problem_version", app.jwtService.Handler(true), app.QueryByProblemVersion) }