Skip to content

Commit

Permalink
[wip] Align driveItem its of sharedWithMe response with propfind
Browse files Browse the repository at this point in the history
  • Loading branch information
rhafer committed Feb 20, 2024
1 parent 65c30ac commit aac6202
Showing 1 changed file with 17 additions and 9 deletions.
26 changes: 17 additions & 9 deletions services/graph/pkg/service/v0/sharedwithme.go
Original file line number Diff line number Diff line change
Expand Up @@ -92,25 +92,24 @@ func (g Graph) cs3ReceivedSharesToDriveItems(ctx context.Context, receivedShares

group.Go(func() error {
var err error // redeclare
resourceID := receivedShares[0].GetShare().GetResourceId()
shareStat, err := doStat(receivedShares[0].GetShare().GetResourceId())
if shareStat == nil || err != nil {
return err
}

driveItem := libregraph.NewDriveItem()

// The id of the driveItem will be the composed of the StorageID and the SpaceID of the sharestorage
// appended with the ResourceID of the shared resource
// '<sharestorageid>$<sharespaceid>!<resource's storageid>:<resource's spaceid>:<resource's opaque id>'
driveItem.SetId(storagespace.FormatResourceID(storageprovider.ResourceId{
StorageId: utils.ShareStorageProviderID,
OpaqueId: resourceID.GetStorageId() + ":" + resourceID.GetSpaceId() + ":" + resourceID.GetOpaqueId(),
SpaceId: utils.ShareStorageSpaceID,
}))
permissions := make([]libregraph.Permission, 0, len(receivedShares))

var oldestReceivedShare *collaboration.ReceivedShare
for _, receivedShare := range receivedShares {
switch {
case oldestReceivedShare == nil:
fallthrough
case utils.TSToTime(receivedShare.GetShare().GetCtime()).Before(utils.TSToTime(oldestReceivedShare.GetShare().GetCtime())):
oldestReceivedShare = receivedShare
}

permission, err := g.cs3ReceivedShareToLibreGraphPermissions(ctx, receivedShare)
if err != nil {
return err
Expand Down Expand Up @@ -150,6 +149,15 @@ func (g Graph) cs3ReceivedSharesToDriveItems(ctx context.Context, receivedShares

}

// The id of the driveItem will be the composed of the StorageID and the SpaceID of the sharestorage
// appended with the ShareID of the oldest shared that exists for this resource
// '<sharestorageid>$<sharespaceid>!<resource's storageid>:<resource's spaceid>:<resource's opaque id>'
driveItem.SetId(storagespace.FormatResourceID(storageprovider.ResourceId{
StorageId: utils.ShareStorageProviderID,
OpaqueId: oldestReceivedShare.GetShare().GetId().GetOpaqueId(),
SpaceId: utils.ShareStorageSpaceID,
}))

if !driveItem.HasUIHidden() {
driveItem.SetUIHidden(false)
}
Expand Down

0 comments on commit aac6202

Please sign in to comment.