Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nextcloud/richdocuments.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorRoeland Jago Douma <roeland@famdouma.nl>2019-03-12 10:39:56 +0300
committerRoeland Jago Douma <roeland@famdouma.nl>2019-03-12 10:39:56 +0300
commit8e239584d9a3b7238efb1588bee931e4e5606953 (patch)
treeb0bec1992f042c9fb63fd3e9059dcab9db0ceb08 /lib
parent18a7939ab2da5ccff57f308049789b6c7c9a314e (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.php2
-rw-r--r--lib/Service/CapabilitiesService.php19
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() {