diff --git a/changelog/unreleased/fix-response-code.md b/changelog/unreleased/fix-response-code.md new file mode 100644 index 00000000000..ccfa72fa160 --- /dev/null +++ b/changelog/unreleased/fix-response-code.md @@ -0,0 +1,5 @@ +Bugfix: Fix response code + +he DeleteStorageSpace method response code has been changed + +https://github.com/cs3org/reva/pull/3848 diff --git a/internal/grpc/services/storageprovider/storageprovider.go b/internal/grpc/services/storageprovider/storageprovider.go index ce81eae99a4..4a785c6fadf 100644 --- a/internal/grpc/services/storageprovider/storageprovider.go +++ b/internal/grpc/services/storageprovider/storageprovider.go @@ -596,10 +596,12 @@ func (s *service) DeleteStorageSpace(ctx context.Context, req *provider.DeleteSt id := &provider.StorageSpaceId{OpaqueId: storagespace.FormatResourceID(idraw)} spaces, err := s.storage.ListStorageSpaces(ctx, []*provider.ListStorageSpacesRequest_Filter{{Type: provider.ListStorageSpacesRequest_Filter_TYPE_ID, Term: &provider.ListStorageSpacesRequest_Filter_Id{Id: id}}}, true) - if err != nil || len(spaces) != 1 { + if err != nil { var st *rpc.Status switch err.(type) { - case errtypes.IsNotFound, errtypes.PermissionDenied: + case errtypes.IsNotFound: + st = status.NewNotFound(ctx, "not found when deleting space") + case errtypes.PermissionDenied: st = status.NewPermissionDenied(ctx, err, "permission denied") case errtypes.BadRequest: st = status.NewInvalid(ctx, err.Error()) @@ -609,6 +611,10 @@ func (s *service) DeleteStorageSpace(ctx context.Context, req *provider.DeleteSt return &provider.DeleteStorageSpaceResponse{ Status: st, }, nil + } else if len(spaces) != 1 { + return &provider.DeleteStorageSpaceResponse{ + Status: status.NewNotFound(ctx, "not found when deleting space"), + }, nil } if err := s.storage.DeleteStorageSpace(ctx, req); err != nil {