summaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/appinfo
diff options
context:
space:
mode:
authorRobin Appelman <icewind@owncloud.com>2015-04-20 16:59:20 +0200
committerRobin Appelman <icewind@owncloud.com>2015-04-27 14:07:16 +0200
commitdd9601ae8fd0f50eb87d2ce3eed6c5f845573987 (patch)
treee1766cd4143dc99316f6e17b730565efc82f4b28 /apps/files_sharing/appinfo
parent45784f213f5e7cf9a38feabd52c4ffadee9ae4f9 (diff)
downloadnextcloud-server-dd9601ae8fd0f50eb87d2ce3eed6c5f845573987.tar.gz
nextcloud-server-dd9601ae8fd0f50eb87d2ce3eed6c5f845573987.zip
fix merge
Diffstat (limited to 'apps/files_sharing/appinfo')
-rw-r--r--apps/files_sharing/appinfo/application.php73
-rw-r--r--apps/files_sharing/appinfo/routes.php2
2 files changed, 75 insertions, 0 deletions
diff --git a/apps/files_sharing/appinfo/application.php b/apps/files_sharing/appinfo/application.php
index 6848c9e8363..0eb20945070 100644
--- a/apps/files_sharing/appinfo/application.php
+++ b/apps/files_sharing/appinfo/application.php
@@ -8,15 +8,88 @@
namespace OCA\Files_Sharing\Appinfo;
+use OCA\Files_Sharing\Helper;
use OCA\Files_Sharing\MountProvider;
use OCA\Files_Sharing\Propagation\PropagationManager;
use OCP\AppFramework\App;
+use OC\AppFramework\Utility\SimpleContainer;
+use OCA\Files_Sharing\Controllers\ExternalSharesController;
+use OCA\Files_Sharing\Controllers\ShareController;
+use OCA\Files_Sharing\Middleware\SharingCheckMiddleware;
use \OCP\IContainer;
class Application extends App {
public function __construct(array $urlParams = array()) {
parent::__construct('files_sharing', $urlParams);
+
$container = $this->getContainer();
+ $server = $container->getServer();
+
+ /**
+ * Controllers
+ */
+ $container->registerService('ShareController', function (SimpleContainer $c) use ($server) {
+ return new ShareController(
+ $c->query('AppName'),
+ $c->query('Request'),
+ $c->query('UserSession'),
+ $server->getAppConfig(),
+ $server->getConfig(),
+ $c->query('URLGenerator'),
+ $c->query('UserManager'),
+ $server->getLogger(),
+ $server->getActivityManager()
+ );
+ });
+ $container->registerService('ExternalSharesController', function (SimpleContainer $c) {
+ return new ExternalSharesController(
+ $c->query('AppName'),
+ $c->query('Request'),
+ $c->query('IsIncomingShareEnabled'),
+ $c->query('ExternalManager')
+ );
+ });
+
+ /**
+ * Core class wrappers
+ */
+ $container->registerService('UserSession', function (SimpleContainer $c) use ($server) {
+ return $server->getUserSession();
+ });
+ $container->registerService('URLGenerator', function (SimpleContainer $c) use ($server) {
+ return $server->getUrlGenerator();
+ });
+ $container->registerService('UserManager', function (SimpleContainer $c) use ($server) {
+ return $server->getUserManager();
+ });
+ $container->registerService('IsIncomingShareEnabled', function (SimpleContainer $c) {
+ return Helper::isIncomingServer2serverShareEnabled();
+ });
+ $container->registerService('ExternalManager', function (SimpleContainer $c) use ($server) {
+ $user = $server->getUserSession()->getUser();
+ $uid = $user ? $user->getUID() : null;
+ return new \OCA\Files_Sharing\External\Manager(
+ $server->getDatabaseConnection(),
+ \OC\Files\Filesystem::getMountManager(),
+ \OC\Files\Filesystem::getLoader(),
+ $server->getHTTPHelper(),
+ $uid
+ );
+ });
+
+ /**
+ * Middleware
+ */
+ $container->registerService('SharingCheckMiddleware', function (SimpleContainer $c) use ($server) {
+ return new SharingCheckMiddleware(
+ $c->query('AppName'),
+ $server->getConfig(),
+ $server->getAppManager()
+ );
+ });
+
+ // Execute middlewares
+ $container->registerMiddleware('SharingCheckMiddleware');
$container->registerService('MountProvider', function (IContainer $c) {
/** @var \OCP\IServerContainer $server */
diff --git a/apps/files_sharing/appinfo/routes.php b/apps/files_sharing/appinfo/routes.php
index db4566eb612..78fa138f5b5 100644
--- a/apps/files_sharing/appinfo/routes.php
+++ b/apps/files_sharing/appinfo/routes.php
@@ -25,6 +25,8 @@
*/
namespace OCA\Files_Sharing\AppInfo;
+use OCP\API;
+
$application = new Application();
$application->registerRoutes($this, [
'resources' => [