/** * @NoAdminRequired */ public function deleteAddressBook() { $params = $this->request->urlParams; $response = new JSONResponse(); $backend = $this->app->getBackend($params['backend']); if (!$backend->hasAddressBookMethodFor(\OCP\PERMISSION_DELETE)) { throw new \Exception(App::$l10n->t('The "%s" backend does not support deleting address books', array($backend->name)), 501); } $addressBookInfo = $backend->getAddressBook($params['addressBookId']); if (!$addressBookInfo['permissions'] & \OCP\PERMISSION_DELETE) { throw new \Exception(App::$l10n->t('You do not have permissions to delete the "%s" address book', array($addressBookInfo['displayname'])), 403); } if (!$backend->deleteAddressBook($params['addressBookId'])) { throw new \Exception(App::$l10n->t('Error deleting address book'), 500); } \OCP\Config::setUserValue($this->api->getUserId(), 'contacts', 'last_address_book_deleted', time()); return $response; }