summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorRoeland Jago Douma <rullzer@owncloud.com>2015-10-30 13:09:38 +0100
committerRoeland Jago Douma <rullzer@owncloud.com>2015-11-05 15:59:09 +0100
commit8b5179459afe1a7355e48f60545bcb76f1cf4699 (patch)
treef0768471e52a41b3f426f742f1cba901e55397aa /apps
parent9567fa1194e82a89c510b9540899e27338c00c25 (diff)
downloadnextcloud-server-8b5179459afe1a7355e48f60545bcb76f1cf4699.tar.gz
nextcloud-server-8b5179459afe1a7355e48f60545bcb76f1cf4699.zip
Prepare OCS Share endpoint
Diffstat (limited to 'apps')
-rw-r--r--apps/files_sharing/api/ocssharewrapper.php62
-rw-r--r--apps/files_sharing/appinfo/routes.php13
2 files changed, 70 insertions, 5 deletions
diff --git a/apps/files_sharing/api/ocssharewrapper.php b/apps/files_sharing/api/ocssharewrapper.php
new file mode 100644
index 00000000000..14fc995cda5
--- /dev/null
+++ b/apps/files_sharing/api/ocssharewrapper.php
@@ -0,0 +1,62 @@
+<?php
+/**
+ * @author Roeland Jago Douma <rullzer@owncloud.com>
+ *
+ * @copyright Copyright (c) 2015, ownCloud, Inc.
+ * @license AGPL-3.0
+ *
+ * This code is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License, version 3,
+ * as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License, version 3,
+ * along with this program. If not, see <http://www.gnu.org/licenses/>
+ *
+ */
+namespace OCA\Files_Sharing\API;
+
+class OCSShareWrapper {
+
+ private function getShare20OCS() {
+ return new share20OCS(new \OC\Share20\Manager(
+ \OC::$server->getUserSession()->getUser(),
+ \OC::$server->getUserManager(),
+ \OC::$server->getGroupManager(),
+ \OC::$server->getLogger(),
+ \OC::$server->getAppConfig(),
+ \OC::$server->getUserFolder(),
+ new \OC\Share20\DefaultShareProvider(
+ \OC::$server->getDatabaseConnection()
+ )
+ ),
+ \OC::$server->getGroupManager(),
+ \OC::$server->getUserManager(),
+ \OC::$server->getRequest(),
+ \OC::$server->getUserFolder());
+ }
+
+ public function getAllShares($params) {
+ return \OCA\Files_Sharing\API\Local::getAllShares($params);
+ }
+
+ public function createShare($params) {
+ return \OCA\Files_Sharing\API\Local::createShare($params);
+ }
+
+ public function getShare($params) {
+ return \OCA\Files_Sharing\API\Local::getShare($params);
+ }
+
+ public function updateShare($params) {
+ return \OCA\Files_Sharing\API\Local::updateShare($params);
+ }
+
+ public function deleteShare($params) {
+ return \OCA\Files_Sharing\API\Local::deleteShare($params);
+ }
+}
diff --git a/apps/files_sharing/appinfo/routes.php b/apps/files_sharing/appinfo/routes.php
index db7aa126c4e..8755691c1e8 100644
--- a/apps/files_sharing/appinfo/routes.php
+++ b/apps/files_sharing/appinfo/routes.php
@@ -61,29 +61,31 @@ $this->create('sharing_external_add', '/external')
//TODO: SET: mail notification, waiting for PR #4689 to be accepted
+$OCSShare = new \OCA\Files_Sharing\API\OCSShareWrapper();
+
API::register('get',
'/apps/files_sharing/api/v1/shares',
- array('\OCA\Files_Sharing\API\Local', 'getAllShares'),
+ [$OCSShare, 'getAllShares'],
'files_sharing');
API::register('post',
'/apps/files_sharing/api/v1/shares',
- array('\OCA\Files_Sharing\API\Local', 'createShare'),
+ [$OCSShare, 'createShare'],
'files_sharing');
API::register('get',
'/apps/files_sharing/api/v1/shares/{id}',
- array('\OCA\Files_Sharing\API\Local', 'getShare'),
+ [$OCSShare, 'getShare'],
'files_sharing');
API::register('put',
'/apps/files_sharing/api/v1/shares/{id}',
- array('\OCA\Files_Sharing\API\Local', 'updateShare'),
+ [$OCSShare, 'updateShare'],
'files_sharing');
API::register('delete',
'/apps/files_sharing/api/v1/shares/{id}',
- array('\OCA\Files_Sharing\API\Local', 'deleteShare'),
+ [$OCSShare, 'deleteShare'],
'files_sharing');
API::register('get',
@@ -130,3 +132,4 @@ API::register('get',
'/apps/files_sharing/api/v1/sharees',
[$sharees, 'search'],
'files_sharing', API::USER_AUTH);
+