delete shares to an user

Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
pull/1545/head
Thomas Citharel 10 years ago committed by Lukas Reschke
parent 97a47f49a1
commit 5215833fe4
No known key found for this signature in database
GPG Key ID: B9F6980CF6E759B1
  1. 10
      apps/dav/lib/CalDAV/CalDavBackend.php
  2. 8
      apps/dav/lib/DAV/Sharing/Backend.php
  3. 1
      apps/dav/lib/HookManager.php
  4. 1
      apps/dav/tests/unit/DAV/HookManagerTest.php

@ -507,6 +507,16 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
$this->sharingBackend->deleteAllShares($calendarId);
}
/**
* Delete all of an user's shares
*
* @param string $principaluri
* @return void
*/
function deleteAllSharesForUser($principaluri) {
$this->sharingBackend->deleteAllSharesByUser($principaluri);
}
/**
* Returns all calendar objects within a calendar.
*

@ -110,6 +110,14 @@ class Backend {
->execute();
}
public function deleteAllSharesByUser($principaluri) {
$query = $this->db->getQueryBuilder();
$query->delete('dav_shares')
->where($query->expr()->eq('principaluri', $query->createNamedParameter($principaluri)))
->andWhere($query->expr()->eq('type', $query->createNamedParameter($this->resourceType)))
->execute();
}
/**
* @param IShareable $shareable
* @param string $element

@ -98,6 +98,7 @@ class HookManager {
foreach ($calendarsToDelete as $calendar) {
$this->calDav->deleteCalendar($calendar['id']);
}
$this->calDav->deleteAllSharesForUser('principals/users/' . $uid);
$addressBooksToDelete = $this->cardDav->getAddressBooksForUser('principals/users/' . $uid);
foreach ($addressBooksToDelete as $addressBook) {

@ -172,6 +172,7 @@ class HookManagerTest extends TestCase {
['id' => 'personal']
]);
$cal->expects($this->once())->method('deleteCalendar');
$cal->expects($this->once())->method('deleteAllSharesForUser');
/** @var CardDavBackend | \PHPUnit_Framework_MockObject_MockObject $card */
$card = $this->getMockBuilder(CardDavBackend::class)

Loading…
Cancel
Save