Skip to content
Snippets Groups Projects
Unverified Commit e727e017 authored by John Molakvoæ's avatar John Molakvoæ Committed by GitHub
Browse files

Merge pull request #15290 from nextcloud/fix/8635/mdkir-handling+no-create-to-delete

take return of mkdir into consideration; photocache to not create a folder for deletion
parents 4fd2cbeb 3c78116c
No related branches found
No related tags found
No related merge requests found
......@@ -167,16 +167,19 @@ class PhotoCache {
}
/**
* @param int $addressBookId
* @param string $cardUri
* @return ISimpleFolder
* @throws NotFoundException
* @throws NotPermittedException
*/
private function getFolder($addressBookId, $cardUri) {
private function getFolder(int $addressBookId, string $cardUri, bool $createIfNotExists = true): ISimpleFolder {
$hash = md5($addressBookId . ' ' . $cardUri);
try {
return $this->appData->getFolder($hash);
} catch (NotFoundException $e) {
return $this->appData->newFolder($hash);
if($createIfNotExists) {
return $this->appData->newFolder($hash);
} else {
throw $e;
}
}
}
......@@ -271,9 +274,14 @@ class PhotoCache {
/**
* @param int $addressBookId
* @param string $cardUri
* @throws NotPermittedException
*/
public function delete($addressBookId, $cardUri) {
$folder = $this->getFolder($addressBookId, $cardUri);
$folder->delete();
try {
$folder = $this->getFolder($addressBookId, $cardUri, false);
$folder->delete();
} catch (NotFoundException $e) {
// that's OK, nothing to do
}
}
}
......@@ -158,7 +158,9 @@ class Folder extends Node implements \OCP\Files\Folder {
$nonExisting = new NonExistingFolder($this->root, $this->view, $fullPath);
$this->root->emit('\OC\Files', 'preWrite', array($nonExisting));
$this->root->emit('\OC\Files', 'preCreate', array($nonExisting));
$this->view->mkdir($fullPath);
if(!$this->view->mkdir($fullPath)) {
throw new NotPermittedException('Could not create folder');
}
$node = new Folder($this->root, $this->view, $fullPath);
$this->root->emit('\OC\Files', 'postWrite', array($node));
$this->root->emit('\OC\Files', 'postCreate', array($node));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment