IAM - Fix error messages for resource permissions endpoints (#85773)
* IAM: fix many error messages in access-related code to provide more information * Remove debug statement * Refactor resourcepermissions package to use errutil * Replace a few more errors with errutil and wrap errors found in users and teams services * Apply diff of openAPI spec
This commit is contained in:
@@ -1,8 +1,56 @@
|
||||
package resourcepermissions
|
||||
|
||||
import "errors"
|
||||
import (
|
||||
"github.com/grafana/grafana/pkg/util/errutil"
|
||||
)
|
||||
|
||||
const (
|
||||
invalidPermissionMessage = `Permission [{{ .Public.permission }}] is invalid for this resource type`
|
||||
invalidAssignmentMessage = `Assignment [{{ .Public.assignment }}] is invalid for this resource type`
|
||||
invalidParamMessage = `Param [{{ .Public.param }}] is invalid`
|
||||
invalidRequestBody = `Request body is invalid: {{ .Public.reason }}`
|
||||
)
|
||||
|
||||
var (
|
||||
ErrInvalidPermission = errors.New("invalid permission")
|
||||
ErrInvalidAssignment = errors.New("invalid assignment")
|
||||
ErrInvalidParam = errutil.BadRequest("resourcePermissions.invalidParam").
|
||||
MustTemplate(invalidParamMessage, errutil.WithPublic(invalidParamMessage))
|
||||
ErrInvalidRequestBody = errutil.BadRequest("resourcePermissions.invalidRequestBody").
|
||||
MustTemplate(invalidRequestBody, errutil.WithPublic(invalidRequestBody))
|
||||
ErrInvalidPermission = errutil.BadRequest("resourcePermissions.invalidPermission").
|
||||
MustTemplate(invalidPermissionMessage, errutil.WithPublic(invalidPermissionMessage))
|
||||
ErrInvalidAssignment = errutil.BadRequest("resourcePermissions.invalidAssignment").
|
||||
MustTemplate(invalidAssignmentMessage, errutil.WithPublic(invalidAssignmentMessage))
|
||||
)
|
||||
|
||||
func ErrInvalidParamData(param string, err error) errutil.TemplateData {
|
||||
return errutil.TemplateData{
|
||||
Public: map[string]any{
|
||||
"param": param,
|
||||
},
|
||||
Error: err,
|
||||
}
|
||||
}
|
||||
|
||||
func ErrInvalidRequestBodyData(reason string) errutil.TemplateData {
|
||||
return errutil.TemplateData{
|
||||
Public: map[string]any{
|
||||
"reason": reason,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func ErrInvalidPermissionData(permission string) errutil.TemplateData {
|
||||
return errutil.TemplateData{
|
||||
Public: map[string]any{
|
||||
"permission": permission,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
func ErrInvalidAssignmentData(assignment string) errutil.TemplateData {
|
||||
return errutil.TemplateData{
|
||||
Public: map[string]any{
|
||||
"assignment": assignment,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user