mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
* Add folder store method for fetching all folder descendants * Modify GetDescendantCounts() to fetch folder descendants at once * Reduce DB calls when counting library panels under dashboard * Reduce DB calls when counting dashboards under folder * Reduce DB calls during folder delete * Modify folder registry to count/delete entities under multiple folders * Reduce DB calls when counting * Reduce DB calls when deleting
67 lines
1.9 KiB
Go
67 lines
1.9 KiB
Go
package folderimpl
|
|
|
|
import (
|
|
"context"
|
|
|
|
"github.com/grafana/grafana/pkg/services/folder"
|
|
)
|
|
|
|
type fakeStore struct {
|
|
ExpectedChildFolders []*folder.Folder
|
|
ExpectedParentFolders []*folder.Folder
|
|
ExpectedFolders []*folder.Folder
|
|
ExpectedFolder *folder.Folder
|
|
ExpectedError error
|
|
ExpectedFolderHeight int
|
|
CreateCalled bool
|
|
DeleteCalled bool
|
|
}
|
|
|
|
func NewFakeStore() *fakeStore {
|
|
return &fakeStore{}
|
|
}
|
|
|
|
var _ store = (*fakeStore)(nil)
|
|
|
|
func (f *fakeStore) Create(ctx context.Context, cmd folder.CreateFolderCommand) (*folder.Folder, error) {
|
|
f.CreateCalled = true
|
|
return f.ExpectedFolder, f.ExpectedError
|
|
}
|
|
|
|
func (f *fakeStore) Delete(ctx context.Context, UIDs []string, orgID int64) error {
|
|
f.DeleteCalled = true
|
|
return f.ExpectedError
|
|
}
|
|
|
|
func (f *fakeStore) Update(ctx context.Context, cmd folder.UpdateFolderCommand) (*folder.Folder, error) {
|
|
return f.ExpectedFolder, f.ExpectedError
|
|
}
|
|
|
|
func (f *fakeStore) Move(ctx context.Context, cmd folder.MoveFolderCommand) error {
|
|
return f.ExpectedError
|
|
}
|
|
|
|
func (f *fakeStore) Get(ctx context.Context, cmd folder.GetFolderQuery) (*folder.Folder, error) {
|
|
return f.ExpectedFolder, f.ExpectedError
|
|
}
|
|
|
|
func (f *fakeStore) GetParents(ctx context.Context, q folder.GetParentsQuery) ([]*folder.Folder, error) {
|
|
return f.ExpectedParentFolders, f.ExpectedError
|
|
}
|
|
|
|
func (f *fakeStore) GetChildren(ctx context.Context, cmd folder.GetChildrenQuery) ([]*folder.Folder, error) {
|
|
return f.ExpectedChildFolders, f.ExpectedError
|
|
}
|
|
|
|
func (f *fakeStore) GetHeight(ctx context.Context, folderUID string, orgID int64, parentUID *string) (int, error) {
|
|
return f.ExpectedFolderHeight, f.ExpectedError
|
|
}
|
|
|
|
func (f *fakeStore) GetFolders(ctx context.Context, q getFoldersQuery) ([]*folder.Folder, error) {
|
|
return f.ExpectedFolders, f.ExpectedError
|
|
}
|
|
|
|
func (f *fakeStore) GetDescendants(ctx context.Context, orgID int64, ancestor_uid string) ([]*folder.Folder, error) {
|
|
return f.ExpectedFolders, f.ExpectedError
|
|
}
|