Skip to content

Commit c0d5c6c

Browse files
committed
fix: list shares, handle reva errors more gracefully
1 parent 20f32d4 commit c0d5c6c

File tree

1 file changed

+13
-2
lines changed

1 file changed

+13
-2
lines changed

services/graph/pkg/service/v0/api_driveitem_permissions.go

+13-2
Original file line numberDiff line numberDiff line change
@@ -463,8 +463,19 @@ func (s DriveItemPermissionsService) ListPermissions(ctx context.Context, itemID
463463
publicshare.ResourceIDFilter(itemID),
464464
}, driveItems)
465465
if err != nil {
466-
s.logger.Error().Err(err).Str("storageID", itemID.GetStorageId()).Msg("listPublicShares failed")
467-
return collectionOfPermissions, err
466+
switch err.(type) {
467+
case errtypes.AlreadyExists:
468+
s.logger.Error().Err(err).Str("storageID", itemID.GetStorageId()).Msg("public share already exists")
469+
// Return the list but do not trigger API 500 yet
470+
return collectionOfPermissions, nil
471+
case errtypes.IsNotFound:
472+
s.logger.Error().Err(err).Str("storageID", itemID.GetStorageId()).Msg("public share not found")
473+
// Return the list but do not trigger API 500 yet
474+
return collectionOfPermissions, nil
475+
default:
476+
s.logger.Error().Err(err).Str("storageID", itemID.GetStorageId()).Msg("unexpected error listing public shares")
477+
return collectionOfPermissions, err
478+
}
468479
}
469480

470481
for _, driveItem := range driveItems {

0 commit comments

Comments
 (0)