mirror of
https://github.com/grafana/grafana.git
synced 2025-02-25 18:55:37 -06:00
* Folders: Show folders user has access to at the root level * Refactor * Refactor * Hide parent folders user has no access to * Skip expensive computation if possible * Fix tests * Fix potential nil access * Fix duplicated folders * Fix linter error * Fix querying folders if no managed permissions set * Update benchmark * Add special shared with me folder and fetch available non-root folders on demand * Fix parents query * Improve db query for folders * Reset benchmark changes * Fix permissions for shared with me folder * Simplify dedup * Add option to include shared folder permission to user's permissions * Fix nil UID * Remove duplicated folders from shared list * Only left the base part * Apply suggestions from code review Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com> * Add tests * Fix linter errors --------- Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
63 lines
1.8 KiB
Go
63 lines
1.8 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, uid 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, cmd 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, orgID int64, uids []string) ([]*folder.Folder, error) {
|
|
return f.ExpectedFolders, f.ExpectedError
|
|
}
|