@@ -150,42 +150,42 @@ func countTypeFilters(filters []*provider.ListStorageSpacesRequest_Filter) (coun
150150
151151func (s * service ) ListStorageSpaces (ctx context.Context , req * provider.ListStorageSpacesRequest ) (* provider.ListStorageSpacesResponse , error ) {
152152 user := appctx .ContextMustGetUser (ctx )
153- filters := req .Filters
153+ // filters := req.Filters
154154
155155 sp := []* provider.StorageSpace {}
156- if countTypeFilters (filters ) == 0 {
157- homes , err := s .listSpacesByType (ctx , user , spaces .SpaceTypeHome )
158- if err != nil {
159- return & provider.ListStorageSpacesResponse {Status : status .NewInternal (ctx , err , err .Error ())}, nil
160- }
161- sp = append (sp , homes ... )
162-
163- projects , err := s .listSpacesByType (ctx , user , spaces .SpaceTypeProject )
164- if err != nil {
165- return & provider.ListStorageSpacesResponse {Status : status .NewInternal (ctx , err , err .Error ())}, nil
166- }
167- sp = append (sp , projects ... )
156+ //if countTypeFilters(filters) == 0 {
157+ homes , err := s .listSpacesByType (ctx , req , user , spaces .SpaceTypeHome )
158+ if err != nil {
159+ return & provider.ListStorageSpacesResponse {Status : status .NewInternal (ctx , err , err .Error ())}, nil
160+ }
161+ sp = append (sp , homes ... )
168162
169- publicSpaces , err := s .getPublicSpaces (ctx )
170- if err != nil {
171- return & provider.ListStorageSpacesResponse {Status : status .NewInternal (ctx , err , err .Error ())}, nil
172- }
173- sp = append (sp , publicSpaces ... )
163+ projects , err := s .listSpacesByType (ctx , req , user , spaces .SpaceTypeProject )
164+ if err != nil {
165+ return & provider.ListStorageSpacesResponse {Status : status .NewInternal (ctx , err , err .Error ())}, nil
174166 }
167+ sp = append (sp , projects ... )
175168
176- for _ , filter := range filters {
177- switch filter .Type {
178- case provider .ListStorageSpacesRequest_Filter_TYPE_SPACE_TYPE :
179- spaces , err := s .listSpacesByType (ctx , user , spaces .SpaceType (filter .Term .(* provider.ListStorageSpacesRequest_Filter_SpaceType ).SpaceType ))
180- if err != nil {
181- return & provider.ListStorageSpacesResponse {Status : status .NewInternal (ctx , err , err .Error ())}, nil
182- }
183- sp = append (sp , spaces ... )
184- case provider .ListStorageSpacesRequest_Filter_TYPE_ID :
185- default :
186- return nil , errtypes .NotSupported ("filter not supported" )
187- }
169+ publicSpaces , err := s .getPublicSpaces (ctx )
170+ if err != nil {
171+ return & provider.ListStorageSpacesResponse {Status : status .NewInternal (ctx , err , err .Error ())}, nil
188172 }
173+ sp = append (sp , publicSpaces ... )
174+ // }
175+
176+ // for _, filter := range filters {
177+ // switch filter.Type {
178+ // case provider.ListStorageSpacesRequest_Filter_TYPE_SPACE_TYPE:
179+ // spaces, err := s.listSpacesByType(ctx, req, user, spaces.SpaceType(filter.Term.(*provider.ListStorageSpacesRequest_Filter_SpaceType).SpaceType))
180+ // if err != nil {
181+ // return &provider.ListStorageSpacesResponse{Status: status.NewInternal(ctx, err, err.Error())}, nil
182+ // }
183+ // sp = append(sp, spaces...)
184+ // case provider.ListStorageSpacesRequest_Filter_TYPE_ID:
185+ // default:
186+ // return nil, errtypes.NotSupported("filter not supported")
187+ // }
188+ // }
189189
190190 // TODO: we should filter at the driver level.
191191 // for now let's do it here. optimizations later :)
@@ -205,7 +205,7 @@ func isFilterByID(filters []*provider.ListStorageSpacesRequest_Filter) (string,
205205 return "" , false
206206}
207207
208- func (s * service ) listSpacesByType (ctx context.Context , user * userpb.User , spaceType spaces.SpaceType ) ([]* provider.StorageSpace , error ) {
208+ func (s * service ) listSpacesByType (ctx context.Context , req * provider. ListStorageSpacesRequest , user * userpb.User , spaceType spaces.SpaceType ) ([]* provider.StorageSpace , error ) {
209209 sp := []* provider.StorageSpace {}
210210
211211 switch spaceType {
@@ -219,7 +219,9 @@ func (s *service) listSpacesByType(ctx context.Context, user *userpb.User, space
219219 }
220220 case spaces .SpaceTypeProject :
221221 log .Debug ().Msg ("Listing spaces by type project" )
222- resp , err := s .projects .ListStorageSpaces (ctx , & provider.ListStorageSpacesRequest {})
222+ resp , err := s .projects .ListStorageSpaces (ctx , & provider.ListStorageSpacesRequest {
223+ Filters : req .Filters ,
224+ })
223225 if err != nil {
224226 return nil , err
225227 }
@@ -310,21 +312,21 @@ func (s *service) decorateProject(ctx context.Context, proj *provider.StorageSpa
310312 }
311313
312314 // Add mtime of space
313- var resourceInfo * provider.ResourceInfo
314- if res , err := s .resourceInfoCache .Get (proj .RootInfo .Path ); err == nil && res != nil {
315- resourceInfo = res
316- } else {
317- statRes , err := s .gw .Stat (ctx , & provider.StatRequest {Ref : & provider.Reference {
318- Path : proj .RootInfo .Path ,
319- }})
320- if err != nil || statRes .Status == nil || statRes .Status .Code != rpcv1beta1 .Code_CODE_OK {
321- return fmt .Errorf ("failed to stat path %s for project %s" , proj .RootInfo .Path , proj .Name )
322- }
323- resourceInfo = statRes .Info
324- s .resourceInfoCache .Set (proj .RootInfo .Path , resourceInfo )
325- }
326-
327- proj .Mtime = resourceInfo .Mtime
315+ // var resourceInfo *provider.ResourceInfo
316+ // if res, err := s.resourceInfoCache.Get(proj.RootInfo.Path); err == nil && res != nil {
317+ // resourceInfo = res
318+ // } else {
319+ // statRes, err := s.gw.Stat(ctx, &provider.StatRequest{Ref: &provider.Reference{
320+ // Path: proj.RootInfo.Path,
321+ // }})
322+ // if err != nil || statRes.Status == nil || statRes.Status.Code != rpcv1beta1.Code_CODE_OK {
323+ // return fmt.Errorf("failed to stat path %s for project %s", proj.RootInfo.Path, proj.Name)
324+ // }
325+ // resourceInfo = statRes.Info
326+ // s.resourceInfoCache.Set(proj.RootInfo.Path, resourceInfo)
327+ // }
328+
329+ // proj.Mtime = resourceInfo.Mtime
328330 return nil
329331}
330332
0 commit comments