diff options
author | Roeland Jago Douma <roeland@famdouma.nl> | 2019-03-12 10:39:56 +0300 |
---|---|---|
committer | Roeland Jago Douma <roeland@famdouma.nl> | 2019-03-12 10:39:56 +0300 |
commit | 8e239584d9a3b7238efb1588bee931e4e5606953 (patch) | |
tree | b0bec1992f042c9fb63fd3e9059dcab9db0ceb08 /lib/Service | |
parent | 18a7939ab2da5ccff57f308049789b6c7c9a314e (diff) |
Only update capabilities on successfull fetch
fixes #448
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Diffstat (limited to 'lib/Service')
-rw-r--r-- | lib/Service/CapabilitiesService.php | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/lib/Service/CapabilitiesService.php b/lib/Service/CapabilitiesService.php index 740c22ca..82202ce4 100644 --- a/lib/Service/CapabilitiesService.php +++ b/lib/Service/CapabilitiesService.php @@ -25,6 +25,7 @@ namespace OCA\Richdocuments\Service; use OCP\Files\IAppData; use OCP\Files\NotFoundException; +use OCP\Files\SimpleFS\ISimpleFile; use OCP\Files\SimpleFS\ISimpleFolder; use OCP\Http\Client\IClientService; use OCP\IConfig; @@ -48,15 +49,29 @@ class CapabilitiesService { } } - public function refretch() { + private function getFile() { try { $file = $this->appData->getFile('capabilities.json'); } catch (NotFoundException $e) { $file = $this->appData->newFile('capabilities.json'); + $file->putContent(json_encode([])); } + return $file; + } + + public function clear() { + $file = $this->getFile(); + $file->putContent(json_encode([])); + } + + public function refretch() { $capabilties = $this->renewCapabilities(); - $file->putContent(json_encode($capabilties)); + + if ($capabilties !== []) { + $file = $this->getFile(); + $file->putContent(json_encode($capabilties)); + } } private function renewCapabilities() { |