diff --git a/src/webapi/router/router.go b/src/webapi/router/router.go index a903ca1d..2b844c48 100644 --- a/src/webapi/router/router.go +++ b/src/webapi/router/router.go @@ -310,6 +310,7 @@ func configRoute(r *gin.Engine, version string) { { service.Any("/prometheus/*url", prometheusProxy) service.POST("/users", userAddPost) + service.GET("/users", userFindAll) service.GET("/targets", targetGets) service.GET("/targets/tags", targetGetTags) diff --git a/src/webapi/router/router_user.go b/src/webapi/router/router_user.go index 59bbfcdd..5b25d805 100644 --- a/src/webapi/router/router_user.go +++ b/src/webapi/router/router_user.go @@ -11,6 +11,22 @@ import ( "github.com/didi/nightingale/v5/src/pkg/ormx" ) +func userFindAll(c *gin.Context) { + limit := ginx.QueryInt(c, "limit", 20) + query := ginx.QueryStr(c, "query", "") + + total, err := models.UserTotal(query) + ginx.Dangerous(err) + + list, err := models.UserGets(query, limit, ginx.Offset(c, limit)) + ginx.Dangerous(err) + + ginx.NewRender(c).Data(gin.H{ + "list": list, + "total": total, + }, nil) +} + func userGets(c *gin.Context) { limit := ginx.QueryInt(c, "limit", 20) query := ginx.QueryStr(c, "query", "")