diff --git a/http/router.go b/http/router.go index 8f592911f07cc31b6efcbbcdf6c9e8cf760fa4ee..d9bbb89ede0a48026b7fe730a39e07c3206e4c58 100644 --- a/http/router.go +++ b/http/router.go @@ -209,6 +209,7 @@ func configRoutes(r *gin.Engine) { v1.GET("/can-do-op-by-name", login(), canDoOpByName) v1.GET("/can-do-op-by-token", login(), canDoOpByToken) v1.GET("/get-user-by-name", login(), getUserByName) + v1.GET("/get-user-by-token", login(), getUserByToken) } push := r.Group("/v1/n9e/series").Use(gzip.Gzip(gzip.DefaultCompression)) diff --git a/http/router_auth.go b/http/router_auth.go index 7688a6da6188632eb1156c388f6537f22b495d7b..90a3949660b3de397be23ff28b93997ef8b46d99 100644 --- a/http/router_auth.go +++ b/http/router_auth.go @@ -90,8 +90,3 @@ func canDoOpByToken(c *gin.Context) { can, err := user.CanDo(queryStr(c, "op")) renderData(c, can, err) } - -func getUserByName(c *gin.Context) { - user, err := models.UserGetByUsername(queryStr(c, "name")) - renderData(c, user, err) -} diff --git a/http/router_user.go b/http/router_user.go index 2d1798bf804bacea2add347eaee6c0e9ee89eb18..dfcbbfcb298b8bb9cc5fef112a78c810c6622dbd 100644 --- a/http/router_user.go +++ b/http/router_user.go @@ -178,3 +178,20 @@ func userDel(c *gin.Context) { func contactChannelsGet(c *gin.Context) { renderData(c, config.Config.ContactKeys, nil) } + +func getUserByName(c *gin.Context) { + user, err := models.UserGetByUsername(queryStr(c, "name")) + renderData(c, user, err) +} + +func getUserByToken(c *gin.Context) { + userToken, err := models.UserTokenGet("token=?", queryStr(c, "token")) + dangerous(err) + if userToken == nil { + renderMessage(c, nil) + return + } + + user, err := models.UserGetByUsername(userToken.Username) + renderData(c, user, err) +}