The graph drives invite response now includes the createdDateTime field

This commit is contained in:
Roman Perekhod
2024-12-17 19:25:24 +01:00
parent b9d703731a
commit 6b3a4975c5
2 changed files with 15 additions and 0 deletions

View File

@@ -0,0 +1,6 @@
Bugfix: Share creation date is missing in invite response
The graph drives invite response now includes the `createdDateTime` field.
https://github.com/owncloud/ocis/pull/10780
https://github.com/owncloud/ocis/issues/10739

View File

@@ -143,6 +143,7 @@ func (s DriveItemPermissionsService) Invite(ctx context.Context, resourceId *sto
var shareid string
var expiration *types.Timestamp
var cTime *types.Timestamp
switch driveRecipient.GetLibreGraphRecipientType() {
case "group":
group, err := s.identityCache.GetGroup(ctx, objectID)
@@ -166,6 +167,7 @@ func (s DriveItemPermissionsService) Invite(ctx context.Context, resourceId *sto
return libregraph.Permission{}, err
}
shareid = createShareResponse.GetShare().GetId().GetOpaqueId()
cTime = createShareResponse.GetShare().GetCtime()
expiration = createShareResponse.GetShare().GetExpiration()
default:
user, err := s.identityCache.GetUser(ctx, objectID)
@@ -209,6 +211,7 @@ func (s DriveItemPermissionsService) Invite(ctx context.Context, resourceId *sto
return libregraph.Permission{}, err
}
shareid = createShareResponse.GetShare().GetId().GetOpaqueId()
cTime = createShareResponse.GetShare().GetCtime()
expiration = createShareResponse.GetShare().GetExpiration()
} else {
createShareRequest := createShareRequestToUser(user, statResponse.GetInfo(), cs3ResourcePermissions)
@@ -221,6 +224,7 @@ func (s DriveItemPermissionsService) Invite(ctx context.Context, resourceId *sto
return libregraph.Permission{}, err
}
shareid = createShareResponse.GetShare().GetId().GetOpaqueId()
cTime = createShareResponse.GetShare().GetCtime()
expiration = createShareResponse.GetShare().GetExpiration()
}
@@ -238,6 +242,11 @@ func (s DriveItemPermissionsService) Invite(ctx context.Context, resourceId *sto
permission.SetExpirationDateTime(utils.TSToTime(expiration))
}
// set cTime
if cTime != nil {
permission.SetCreatedDateTime(cs3TimestampToTime(cTime))
}
if user, ok := revactx.ContextGetUser(ctx); ok {
identity, err := userIdToIdentity(ctx, s.identityCache, user.GetId().GetOpaqueId())
if err != nil {