Nested Folders: Support listing nested folder children (#58566)
* Nested Folders: Support listing nested folder children * Filter out subfolders with no permissions * Apply suggestion from code review
This commit is contained in:
@@ -9,7 +9,7 @@ import (
|
||||
)
|
||||
|
||||
type FakeService struct {
|
||||
ExpectedFolders []*models.Folder
|
||||
ExpectedFolders []*folder.Folder
|
||||
ExpectedFolder *folder.Folder
|
||||
ExpectedError error
|
||||
}
|
||||
@@ -20,10 +20,9 @@ func NewFakeService() *FakeService {
|
||||
|
||||
var _ folder.Service = (*FakeService)(nil)
|
||||
|
||||
func (s *FakeService) GetFolders(ctx context.Context, user *user.SignedInUser, orgID int64, limit int64, page int64) ([]*models.Folder, error) {
|
||||
func (s *FakeService) GetChildren(ctx context.Context, cmd *folder.GetChildrenQuery) ([]*folder.Folder, error) {
|
||||
return s.ExpectedFolders, s.ExpectedError
|
||||
}
|
||||
|
||||
func (s *FakeService) Create(ctx context.Context, cmd *folder.CreateFolderCommand) (*folder.Folder, error) {
|
||||
return s.ExpectedFolder, s.ExpectedError
|
||||
}
|
||||
@@ -46,32 +45,11 @@ func (s *FakeService) Move(ctx context.Context, cmd *folder.MoveFolderCommand) (
|
||||
}
|
||||
|
||||
func (s *FakeService) GetParents(ctx context.Context, orgID int64, folderUID string) ([]*folder.Folder, error) {
|
||||
return modelsToFolders(s.ExpectedFolders), s.ExpectedError
|
||||
return s.ExpectedFolders, s.ExpectedError
|
||||
}
|
||||
|
||||
func (s *FakeService) GetTree(ctx context.Context, orgID int64, folderUID string, depth int64) (map[string][]*folder.Folder, error) {
|
||||
ret := make(map[string][]*folder.Folder)
|
||||
ret[folderUID] = modelsToFolders(s.ExpectedFolders)
|
||||
ret[folderUID] = s.ExpectedFolders
|
||||
return ret, s.ExpectedError
|
||||
}
|
||||
|
||||
// temporary helper until all Folder service methods are updated to use
|
||||
// folder.Folder instead of model.Folder
|
||||
func modelsToFolders(m []*models.Folder) []*folder.Folder {
|
||||
if m == nil {
|
||||
return nil
|
||||
}
|
||||
ret := make([]*folder.Folder, len(m))
|
||||
for i, f := range m {
|
||||
ret[i] = &folder.Folder{
|
||||
ID: f.Id,
|
||||
UID: f.Uid,
|
||||
Title: f.Title,
|
||||
Description: "", // model.Folder does not have a description
|
||||
Created: f.Created,
|
||||
Updated: f.Updated,
|
||||
//UpdatedBy: f.UpdatedBy,
|
||||
}
|
||||
}
|
||||
return ret
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user