K8s/Folders: Fix folder status error message (#95464)
* Fix folder status error message * Add test for folder creation response message * Add TestFoldersCreateAPIEndpointK8S fixes * Fix message returned when user has no permissions
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package apierrors
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"net/http"
|
||||
|
||||
@@ -48,20 +49,36 @@ func ToFolderErrorResponse(err error) response.Response {
|
||||
|
||||
func ToFolderStatusError(err error) k8sErrors.StatusError {
|
||||
resp := ToFolderErrorResponse(err)
|
||||
defaultErr := k8sErrors.StatusError{
|
||||
ErrStatus: metav1.Status{
|
||||
Message: "Folder API error",
|
||||
Code: http.StatusInternalServerError,
|
||||
},
|
||||
}
|
||||
|
||||
normResp, ok := resp.(*response.NormalResponse)
|
||||
if !ok {
|
||||
return k8sErrors.StatusError{
|
||||
ErrStatus: metav1.Status{
|
||||
Message: "Folder API error",
|
||||
Code: http.StatusInternalServerError,
|
||||
},
|
||||
}
|
||||
return defaultErr
|
||||
}
|
||||
|
||||
var dat map[string]interface{}
|
||||
if err := json.Unmarshal(normResp.Body(), &dat); err != nil {
|
||||
return defaultErr
|
||||
}
|
||||
|
||||
m, ok := dat["message"]
|
||||
if !ok {
|
||||
return defaultErr
|
||||
}
|
||||
|
||||
message, ok := m.(string)
|
||||
if !ok {
|
||||
return defaultErr
|
||||
}
|
||||
|
||||
return k8sErrors.StatusError{
|
||||
ErrStatus: metav1.Status{
|
||||
Message: normResp.ErrMessage(),
|
||||
Message: message,
|
||||
Code: int32(normResp.Status()),
|
||||
},
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user