88 */
99namespace OCA \Files \AppInfo ;
1010
11- use Closure ;
1211use OCA \Files \AdvancedCapabilities ;
1312use OCA \Files \Capabilities ;
1413use OCA \Files \Collaboration \Resources \Listener ;
4948use OCP \IL10N ;
5049use OCP \IPreview ;
5150use OCP \IRequest ;
52- use OCP \IServerContainer ;
5351use OCP \ITagManager ;
5452use OCP \IUserSession ;
53+ use OCP \Share \Events \ShareCreatedEvent ;
54+ use OCP \Share \Events \ShareDeletedEvent ;
55+ use OCP \Share \Events \ShareDeletedFromSelfEvent ;
5556use OCP \Share \IManager as IShareManager ;
56- use OCP \Util ;
5757use Psr \Container \ContainerInterface ;
5858use Psr \Log \LoggerInterface ;
5959
@@ -68,9 +68,12 @@ public function register(IRegistrationContext $context): void {
6868 /**
6969 * Controllers
7070 */
71- $ context ->registerService ('APIController ' , function (ContainerInterface $ c ) {
72- /** @var IServerContainer $server */
73- $ server = $ c ->get (IServerContainer::class);
71+ $ context ->registerService (APIController::class, function (ContainerInterface $ c ): ApiController {
72+ /** @var IUserSession $userSession */
73+ $ userSession = $ c ->get (IUserSession::class);
74+
75+ /** @var IRootFolder $rootFolder */
76+ $ rootFolder = $ c ->get (IRootFolder::class);
7477
7578 return new ApiController (
7679 $ c ->get ('AppName ' ),
@@ -80,7 +83,7 @@ public function register(IRegistrationContext $context): void {
8083 $ c ->get (IPreview::class),
8184 $ c ->get (IShareManager::class),
8285 $ c ->get (IConfig::class),
83- $ server ->getUserFolder (),
86+ $ rootFolder ->getUserFolder ($ userSession -> getUser ()-> getUID () ),
8487 $ c ->get (UserConfig::class),
8588 $ c ->get (ViewConfig::class),
8689 $ c ->get (IL10N ::class),
@@ -92,15 +95,18 @@ public function register(IRegistrationContext $context): void {
9295 /**
9396 * Services
9497 */
95- $ context ->registerService (TagService::class, function (ContainerInterface $ c ) {
96- /** @var IServerContainer $server */
97- $ server = $ c ->get (IServerContainer::class);
98+ $ context ->registerService (TagService::class, function (ContainerInterface $ c ): TagService {
99+ /** @var IUserSession $userSession */
100+ $ userSession = $ c ->get (IUserSession::class);
101+
102+ /** @var IRootFolder $rootFolder */
103+ $ rootFolder = $ c ->get (IRootFolder::class);
98104
99105 return new TagService (
100- $ c -> get (IUserSession::class) ,
106+ $ userSession ,
101107 $ c ->get (IActivityManager::class),
102108 $ c ->get (ITagManager::class)->load (self ::APP_ID ),
103- $ server ->getUserFolder (),
109+ $ rootFolder ->getUserFolder ($ userSession -> getUser ()-> getUID () ),
104110 );
105111 });
106112
@@ -121,6 +127,12 @@ public function register(IRegistrationContext $context): void {
121127 $ context ->registerEventListener (LoadSearchPlugins::class, LoadSearchPluginsListener::class);
122128 $ context ->registerEventListener (NodeAddedToFavorite::class, NodeAddedToFavoriteListener::class);
123129 $ context ->registerEventListener (NodeRemovedFromFavorite::class, NodeRemovedFromFavoriteListener::class);
130+
131+
132+ $ context ->registerEventListener (ShareCreatedEvent::class, Listener::class);
133+ $ context ->registerEventListener (ShareDeletedEvent::class, Listener::class);
134+ $ context ->registerEventListener (ShareDeletedFromSelfEvent::class, Listener::class);
135+
124136 $ context ->registerSearchProvider (FilesSearchProvider::class);
125137
126138 $ context ->registerNotifierService (Notifier::class);
@@ -131,16 +143,10 @@ public function register(IRegistrationContext $context): void {
131143 }
132144
133145 public function boot (IBootContext $ context ): void {
134- $ context ->injectFn (Closure::fromCallable ([$ this , 'registerCollaboration ' ]));
135- $ context ->injectFn ([Listener::class, 'register ' ]);
136- $ this ->registerHooks ();
146+ $ context ->injectFn ($ this ->registerCollaboration (...));
137147 }
138148
139149 private function registerCollaboration (IProviderManager $ providerManager ): void {
140150 $ providerManager ->registerResourceProvider (ResourceProvider::class);
141151 }
142-
143- private function registerHooks (): void {
144- Util::connectHook ('\OCP\Config ' , 'js ' , '\OCA\Files\App ' , 'extendJsConfig ' );
145- }
146152}
0 commit comments