aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_external/controller/globalstoragescontroller.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_external/controller/globalstoragescontroller.php')
-rw-r--r--apps/files_external/controller/globalstoragescontroller.php55
1 files changed, 35 insertions, 20 deletions
diff --git a/apps/files_external/controller/globalstoragescontroller.php b/apps/files_external/controller/globalstoragescontroller.php
index 33f870d48e3..756a34fc5d4 100644
--- a/apps/files_external/controller/globalstoragescontroller.php
+++ b/apps/files_external/controller/globalstoragescontroller.php
@@ -63,7 +63,8 @@ class GlobalStoragesController extends StoragesController {
* Create an external storage entry.
*
* @param string $mountPoint storage mount point
- * @param string $backendClass backend class name
+ * @param string $backend backend identifier
+ * @param string $authMechanism authentication mechanism identifier
* @param array $backendOptions backend-specific options
* @param array $mountOptions mount-specific options
* @param array $applicableUsers users for which to mount the storage
@@ -74,21 +75,27 @@ class GlobalStoragesController extends StoragesController {
*/
public function create(
$mountPoint,
- $backendClass,
+ $backend,
+ $authMechanism,
$backendOptions,
$mountOptions,
$applicableUsers,
$applicableGroups,
$priority
) {
- $newStorage = new StorageConfig();
- $newStorage->setMountPoint($mountPoint);
- $newStorage->setBackendClass($backendClass);
- $newStorage->setBackendOptions($backendOptions);
- $newStorage->setMountOptions($mountOptions);
- $newStorage->setApplicableUsers($applicableUsers);
- $newStorage->setApplicableGroups($applicableGroups);
- $newStorage->setPriority($priority);
+ $newStorage = $this->createStorage(
+ $mountPoint,
+ $backend,
+ $authMechanism,
+ $backendOptions,
+ $mountOptions,
+ $applicableUsers,
+ $applicableGroups,
+ $priority
+ );
+ if ($newStorage instanceof DataResponse) {
+ return $newStorage;
+ }
$response = $this->validate($newStorage);
if (!empty($response)) {
@@ -110,7 +117,8 @@ class GlobalStoragesController extends StoragesController {
*
* @param int $id storage id
* @param string $mountPoint storage mount point
- * @param string $backendClass backend class name
+ * @param string $backend backend identifier
+ * @param string $authMechanism authentication mechansim identifier
* @param array $backendOptions backend-specific options
* @param array $mountOptions mount-specific options
* @param array $applicableUsers users for which to mount the storage
@@ -122,21 +130,28 @@ class GlobalStoragesController extends StoragesController {
public function update(
$id,
$mountPoint,
- $backendClass,
+ $backend,
+ $authMechanism,
$backendOptions,
$mountOptions,
$applicableUsers,
$applicableGroups,
$priority
) {
- $storage = new StorageConfig($id);
- $storage->setMountPoint($mountPoint);
- $storage->setBackendClass($backendClass);
- $storage->setBackendOptions($backendOptions);
- $storage->setMountOptions($mountOptions);
- $storage->setApplicableUsers($applicableUsers);
- $storage->setApplicableGroups($applicableGroups);
- $storage->setPriority($priority);
+ $storage = $this->createStorage(
+ $mountPoint,
+ $backend,
+ $authMechanism,
+ $backendOptions,
+ $mountOptions,
+ $applicableUsers,
+ $applicableGroups,
+ $priority
+ );
+ if ($storage instanceof DataResponse) {
+ return $storage;
+ }
+ $storage->setId($id);
$response = $this->validate($storage);
if (!empty($response)) {