/**
  * @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;
 }