fix: improve api error handling for dashboards and folders (#111831)
This commit is contained in:
@@ -1401,13 +1401,13 @@ func (s *Service) validateParent(ctx context.Context, orgID int64, parentUID str
|
||||
|
||||
// Create folder under itself is not allowed
|
||||
if parentUID == UID {
|
||||
return folder.ErrCircularReference
|
||||
return folder.ErrCircularReference.Errorf("circular reference detected")
|
||||
}
|
||||
|
||||
// check there is no circular reference
|
||||
for _, ancestor := range ancestors {
|
||||
if ancestor.UID == UID {
|
||||
return folder.ErrCircularReference
|
||||
return folder.ErrCircularReference.Errorf("circular reference detected")
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -417,7 +417,7 @@ func (ss *FolderStoreImpl) GetHeight(ctx context.Context, foldrUID string, orgID
|
||||
ele := queue[0]
|
||||
queue = queue[1:]
|
||||
if parentUID != nil && *parentUID == ele {
|
||||
return 0, folder.ErrCircularReference
|
||||
return 0, folder.ErrCircularReference.Errorf("circular reference detected")
|
||||
}
|
||||
folders, err := ss.GetChildren(ctx, folder.GetChildrenQuery{UID: ele, OrgID: orgID})
|
||||
if err != nil {
|
||||
|
||||
@@ -840,7 +840,7 @@ func TestIntegrationGetHeight(t *testing.T) {
|
||||
|
||||
t.Run("should failed when the parent folder exist in the subtree", func(t *testing.T) {
|
||||
_, err = folderStore.GetHeight(context.Background(), parent.UID, orgID, &subTree[0])
|
||||
require.Error(t, err, folder.ErrCircularReference)
|
||||
require.Error(t, err, folder.ErrCircularReference.Errorf("circular reference detected"))
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
@@ -298,7 +298,7 @@ func (ss *FolderUnifiedStoreImpl) GetHeight(ctx context.Context, foldrUID string
|
||||
ele := queue[0]
|
||||
queue = queue[1:]
|
||||
if parentUID != nil && *parentUID == ele {
|
||||
return 0, folder.ErrCircularReference
|
||||
return 0, folder.ErrCircularReference.Errorf("circular reference detected")
|
||||
}
|
||||
folders, err := ss.GetChildren(ctx, folder.GetChildrenQuery{UID: ele, OrgID: orgID})
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user