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 | |
parent | 18a7939ab2da5ccff57f308049789b6c7c9a314e (diff) |
Only update capabilities on successfull fetch
fixes #448
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Controller/SettingsController.php | 2 | ||||
-rw-r--r-- | lib/Service/CapabilitiesService.php | 19 |
2 files changed, 19 insertions, 2 deletions
diff --git a/lib/Controller/SettingsController.php b/lib/Controller/SettingsController.php index 432b0f12..fd1d53be 100644 --- a/lib/Controller/SettingsController.php +++ b/lib/Controller/SettingsController.php @@ -152,6 +152,8 @@ class SettingsController extends Controller{ } $this->discoveryManager->refretch(); + + $this->capabilitiesService->clear(); $this->capabilitiesService->refretch(); $response = [ 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() { |