fix(sharebymail): Fix share update when node id changed

This fixes transfering an email share from a user to another one when using
 objectstore as primary storage.

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
pull/48597/head
Côme Chilliet 2024-10-07 15:36:53 +07:00
parent bcf670e6b5
commit 59e4e4bfba
No known key found for this signature in database
GPG Key ID: A3E2F658B28C760A
1 changed files with 4 additions and 1 deletions

@ -739,11 +739,14 @@ class ShareByMailProvider extends DefaultShareProvider implements IShareProvider
$shareAttributes = $this->formatShareAttributes($share->getAttributes());
/*
* We allow updating the permissions and password of mail shares
* We allow updating mail shares
*/
$qb = $this->dbConnection->getQueryBuilder();
$qb->update('share')
->where($qb->expr()->eq('id', $qb->createNamedParameter($share->getId())))
->set('item_source', $qb->createNamedParameter($share->getNode()->getId()))
->set('file_source', $qb->createNamedParameter($share->getNode()->getId()))
->set('share_with', $qb->createNamedParameter($share->getSharedWith()))
->set('permissions', $qb->createNamedParameter($share->getPermissions()))
->set('uid_owner', $qb->createNamedParameter($share->getShareOwner()))
->set('uid_initiator', $qb->createNamedParameter($share->getSharedBy()))