1111use OCA \Files_Sharing \Event \UserShareAccessUpdatedEvent ;
1212use OCA \Files_Sharing \MountProvider ;
1313use OCA \Files_Sharing \ShareTargetValidator ;
14- use OCP \Cache \CappedMemoryCache ;
1514use OCP \EventDispatcher \Event ;
1615use OCP \EventDispatcher \IEventListener ;
1716use OCP \Files \Config \ICachedMountInfo ;
1817use OCP \Files \Config \IUserMountCache ;
19- use OCP \Files \Events \Node \FilesystemTornDownEvent ;
2018use OCP \Group \Events \UserAddedEvent ;
2119use OCP \Group \Events \UserRemovedEvent ;
2220use OCP \IUser ;
2826/**
2927 * Listen to various events that can change what shares a user has access to
3028 *
31- * @template-implements IEventListener<UserAddedEvent|UserRemovedEvent|ShareCreatedEvent|ShareTransferredEvent|BeforeShareDeletedEvent|UserShareAccessUpdatedEvent|FilesystemTornDownEvent >
29+ * @template-implements IEventListener<UserAddedEvent|UserRemovedEvent|ShareCreatedEvent|ShareTransferredEvent|BeforeShareDeletedEvent|UserShareAccessUpdatedEvent>
3230 */
3331class SharesUpdatedListener implements IEventListener {
34- private CappedMemoryCache $ updatedUsers ;
35-
3632 public function __construct (
3733 private readonly IManager $ shareManager ,
3834 private readonly IUserMountCache $ userMountCache ,
3935 private readonly MountProvider $ shareMountProvider ,
4036 private readonly ShareTargetValidator $ shareTargetValidator ,
4137 ) {
42- $ this ->updatedUsers = new CappedMemoryCache ();
4338 }
4439 public function handle (Event $ event ): void {
45- if ($ event instanceof FilesystemTornDownEvent) {
46- $ this ->updatedUsers = new CappedMemoryCache ();
47- }
4840 if ($ event instanceof UserShareAccessUpdatedEvent) {
4941 foreach ($ event ->getUsers () as $ user ) {
5042 $ this ->updateForUser ($ user );
@@ -65,11 +57,6 @@ public function handle(Event $event): void {
6557 }
6658
6759 private function updateForUser (IUser $ user ): void {
68- if (isset ($ this ->updatedUsers [$ user ->getUID ()])) {
69- return ;
70- }
71- $ this ->updatedUsers [$ user ->getUID ()] = true ;
72-
7360 $ cachedMounts = $ this ->userMountCache ->getMountsForUser ($ user );
7461 $ mountPoints = array_map (fn (ICachedMountInfo $ mount ) => $ mount ->getMountPoint (), $ cachedMounts );
7562 $ mountsByPath = array_combine ($ mountPoints , $ cachedMounts );
0 commit comments