From 8b5179459afe1a7355e48f60545bcb76f1cf4699 Mon Sep 17 00:00:00 2001 From: Roeland Jago Douma Date: Fri, 30 Oct 2015 13:09:38 +0100 Subject: [PATCH] Prepare OCS Share endpoint --- apps/files_sharing/api/ocssharewrapper.php | 62 ++++++++++++++++++++++ apps/files_sharing/appinfo/routes.php | 13 +++-- 2 files changed, 70 insertions(+), 5 deletions(-) create mode 100644 apps/files_sharing/api/ocssharewrapper.php diff --git a/apps/files_sharing/api/ocssharewrapper.php b/apps/files_sharing/api/ocssharewrapper.php new file mode 100644 index 0000000000..14fc995cda --- /dev/null +++ b/apps/files_sharing/api/ocssharewrapper.php @@ -0,0 +1,62 @@ + + * + * @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 + * + */ +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 db7aa126c4..8755691c1e 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); +