/** * Checks disk space availability * * @return JsonModel */ public function checkAction() { $params = Json::decode($this->getRequest()->getContent(), Json::TYPE_ARRAY); $backupDir = $this->directoryList->getPath(DirectoryList::VAR_DIR) . '/' . BackupRollback::DEFAULT_BACKUP_DIRECTORY; try { $totalSize = 0; if (isset($params['options']['code']) && $params['options']['code']) { $totalSize += $this->backupHandler->getFSDiskSpace(); } if (isset($params['options']['media']) && $params['options']['media']) { $totalSize += $this->backupHandler->getFSDiskSpace(Factory::TYPE_MEDIA); } if (isset($params['options']['db']) && $params['options']['db']) { $totalSize += $this->backupHandler->getDBDiskSpace(); } $this->fileSystem->validateAvailableDiscSpace($backupDir, $totalSize); return new JsonModel(['responseType' => ResponseTypeInterface::RESPONSE_TYPE_SUCCESS, 'size' => true]); } catch (\Exception $e) { return new JsonModel(['responseType' => ResponseTypeInterface::RESPONSE_TYPE_ERROR, 'error' => $e->getMessage()]); } }