fix: improve api error handling for dashboards and folders (#111831)

This commit is contained in:
Mustafa Sencer Özcan
2025-10-01 09:54:14 +02:00
committed by GitHub
parent b7bdc98479
commit aeb62b7acc
9 changed files with 214 additions and 28 deletions
+2 -2
View File
@@ -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")
}
}
+1 -1
View File
@@ -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 {