Chore: Moves common and response into separate packages (#30298)

* Chore: moves common and response into separate packages

* Chore: moves common and response into separate packages

* Update pkg/api/utils/common.go

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>

* Chore: changes after PR comments

* Chore: move wrap to routing package

* Chore: move functions in common to response package

* Chore: move functions in common to response package

* Chore: formats imports

Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
This commit is contained in:
Hugo Häggmark
2021-01-15 14:43:20 +01:00
committed by GitHub
co-authored by Arve Knudsen
parent a94c256516
commit 3d41267fc4
51 changed files with 1321 additions and 1248 deletions
+22 -21
View File
@@ -6,6 +6,7 @@ import (
"time"
"github.com/grafana/grafana/pkg/api/dtos"
"github.com/grafana/grafana/pkg/api/response"
"github.com/grafana/grafana/pkg/bus"
"github.com/grafana/grafana/pkg/models"
"github.com/grafana/grafana/pkg/util"
@@ -13,48 +14,48 @@ import (
)
// GET /api/user/auth-tokens
func (hs *HTTPServer) GetUserAuthTokens(c *models.ReqContext) Response {
func (hs *HTTPServer) GetUserAuthTokens(c *models.ReqContext) response.Response {
return hs.getUserAuthTokensInternal(c, c.UserId)
}
// POST /api/user/revoke-auth-token
func (hs *HTTPServer) RevokeUserAuthToken(c *models.ReqContext, cmd models.RevokeAuthTokenCmd) Response {
func (hs *HTTPServer) RevokeUserAuthToken(c *models.ReqContext, cmd models.RevokeAuthTokenCmd) response.Response {
return hs.revokeUserAuthTokenInternal(c, c.UserId, cmd)
}
func (hs *HTTPServer) logoutUserFromAllDevicesInternal(ctx context.Context, userID int64) Response {
func (hs *HTTPServer) logoutUserFromAllDevicesInternal(ctx context.Context, userID int64) response.Response {
userQuery := models.GetUserByIdQuery{Id: userID}
if err := bus.Dispatch(&userQuery); err != nil {
if errors.Is(err, models.ErrUserNotFound) {
return Error(404, "User not found", err)
return response.Error(404, "User not found", err)
}
return Error(500, "Could not read user from database", err)
return response.Error(500, "Could not read user from database", err)
}
err := hs.AuthTokenService.RevokeAllUserTokens(ctx, userID)
if err != nil {
return Error(500, "Failed to logout user", err)
return response.Error(500, "Failed to logout user", err)
}
return JSON(200, util.DynMap{
return response.JSON(200, util.DynMap{
"message": "User logged out",
})
}
func (hs *HTTPServer) getUserAuthTokensInternal(c *models.ReqContext, userID int64) Response {
func (hs *HTTPServer) getUserAuthTokensInternal(c *models.ReqContext, userID int64) response.Response {
userQuery := models.GetUserByIdQuery{Id: userID}
if err := bus.Dispatch(&userQuery); err != nil {
if errors.Is(err, models.ErrUserNotFound) {
return Error(404, "User not found", err)
return response.Error(404, "User not found", err)
}
return Error(500, "Failed to get user", err)
return response.Error(500, "Failed to get user", err)
}
tokens, err := hs.AuthTokenService.GetUserTokens(c.Req.Context(), userID)
if err != nil {
return Error(500, "Failed to get user auth tokens", err)
return response.Error(500, "Failed to get user auth tokens", err)
}
result := []*dtos.UserToken{}
@@ -106,40 +107,40 @@ func (hs *HTTPServer) getUserAuthTokensInternal(c *models.ReqContext, userID int
})
}
return JSON(200, result)
return response.JSON(200, result)
}
func (hs *HTTPServer) revokeUserAuthTokenInternal(c *models.ReqContext, userID int64, cmd models.RevokeAuthTokenCmd) Response {
func (hs *HTTPServer) revokeUserAuthTokenInternal(c *models.ReqContext, userID int64, cmd models.RevokeAuthTokenCmd) response.Response {
userQuery := models.GetUserByIdQuery{Id: userID}
if err := bus.Dispatch(&userQuery); err != nil {
if errors.Is(err, models.ErrUserNotFound) {
return Error(404, "User not found", err)
return response.Error(404, "User not found", err)
}
return Error(500, "Failed to get user", err)
return response.Error(500, "Failed to get user", err)
}
token, err := hs.AuthTokenService.GetUserToken(c.Req.Context(), userID, cmd.AuthTokenId)
if err != nil {
if errors.Is(err, models.ErrUserTokenNotFound) {
return Error(404, "User auth token not found", err)
return response.Error(404, "User auth token not found", err)
}
return Error(500, "Failed to get user auth token", err)
return response.Error(500, "Failed to get user auth token", err)
}
if c.UserToken != nil && c.UserToken.Id == token.Id {
return Error(400, "Cannot revoke active user auth token", nil)
return response.Error(400, "Cannot revoke active user auth token", nil)
}
err = hs.AuthTokenService.RevokeToken(c.Req.Context(), token)
if err != nil {
if errors.Is(err, models.ErrUserTokenNotFound) {
return Error(404, "User auth token not found", err)
return response.Error(404, "User auth token not found", err)
}
return Error(500, "Failed to revoke user auth token", err)
return response.Error(500, "Failed to revoke user auth token", err)
}
return JSON(200, util.DynMap{
return response.JSON(200, util.DynMap{
"message": "User auth token revoked",
})
}