mirror of https://github.com/grafana/grafana.git
				
				
				
			Nested folders: Fix error response codes (#66943)
* Nested folders: Fix error response codes Fix error handling
This commit is contained in:
		
							parent
							
								
									7688ac6712
								
							
						
					
					
						commit
						24696d593b
					
				| 
						 | 
					@ -558,7 +558,7 @@ func (s *Service) Move(ctx context.Context, cmd *folder.MoveFolderCommand) (*fol
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// current folder height + current folder + parent folder + parent folder depth should be less than or equal 8
 | 
						// current folder height + current folder + parent folder + parent folder depth should be less than or equal 8
 | 
				
			||||||
	if folderHeight+len(parents)+2 > folder.MaxNestedFolderDepth {
 | 
						if folderHeight+len(parents)+2 > folder.MaxNestedFolderDepth {
 | 
				
			||||||
		return nil, folder.ErrMaximumDepthReached
 | 
							return nil, folder.ErrMaximumDepthReached.Errorf("failed to move folder")
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// if the current folder is already a parent of newparent, we should return error
 | 
						// if the current folder is already a parent of newparent, we should return error
 | 
				
			||||||
| 
						 | 
					@ -775,7 +775,7 @@ func (s *Service) validateParent(ctx context.Context, orgID int64, parentUID str
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if len(ancestors) == folder.MaxNestedFolderDepth {
 | 
						if len(ancestors) == folder.MaxNestedFolderDepth {
 | 
				
			||||||
		return folder.ErrMaximumDepthReached
 | 
							return folder.ErrMaximumDepthReached.Errorf("failed to validate parent folder")
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	// Create folder under itself is not allowed
 | 
						// Create folder under itself is not allowed
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -284,7 +284,7 @@ func (ss *sqlStore) getParentsMySQL(ctx context.Context, cmd folder.GetParentsQu
 | 
				
			||||||
			folders = append(folders, f)
 | 
								folders = append(folders, f)
 | 
				
			||||||
			uid = f.ParentUID
 | 
								uid = f.ParentUID
 | 
				
			||||||
			if len(folders) > folder.MaxNestedFolderDepth {
 | 
								if len(folders) > folder.MaxNestedFolderDepth {
 | 
				
			||||||
				return folder.ErrFolderTooDeep
 | 
									return folder.ErrMaximumDepthReached.Errorf("failed to get parent folders iteratively")
 | 
				
			||||||
			}
 | 
								}
 | 
				
			||||||
		}
 | 
							}
 | 
				
			||||||
		return nil
 | 
							return nil
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,7 +11,6 @@ var ErrMaximumDepthReached = errutil.NewBase(errutil.StatusBadRequest, "folder.m
 | 
				
			||||||
var ErrBadRequest = errutil.NewBase(errutil.StatusBadRequest, "folder.bad-request")
 | 
					var ErrBadRequest = errutil.NewBase(errutil.StatusBadRequest, "folder.bad-request")
 | 
				
			||||||
var ErrDatabaseError = errutil.NewBase(errutil.StatusInternal, "folder.database-error")
 | 
					var ErrDatabaseError = errutil.NewBase(errutil.StatusInternal, "folder.database-error")
 | 
				
			||||||
var ErrInternal = errutil.NewBase(errutil.StatusInternal, "folder.internal")
 | 
					var ErrInternal = errutil.NewBase(errutil.StatusInternal, "folder.internal")
 | 
				
			||||||
var ErrFolderTooDeep = errutil.NewBase(errutil.StatusInternal, "folder.too-deep")
 | 
					 | 
				
			||||||
var ErrCircularReference = errutil.NewBase(errutil.StatusBadRequest, "folder.circular-reference", errutil.WithPublicMessage("Circular reference detected"))
 | 
					var ErrCircularReference = errutil.NewBase(errutil.StatusBadRequest, "folder.circular-reference", errutil.WithPublicMessage("Circular reference detected"))
 | 
				
			||||||
var ErrTargetRegistrySrvConflict = errutil.NewBase(errutil.StatusInternal, "folder.target-registry-srv-conflict")
 | 
					var ErrTargetRegistrySrvConflict = errutil.NewBase(errutil.StatusInternal, "folder.target-registry-srv-conflict")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue