From 0b70482c442f3404e350785a8e10d09437b663fc Mon Sep 17 00:00:00 2001 From: Boubaker Khanfir Date: Sun, 15 Sep 2024 12:52:59 +0100 Subject: [PATCH] feat: use new centralized space API with ACL management - MEED-7488 - Meeds-io/MIPs#147 This change will reuse the centralized way to check user priviledges on spaces contents. --- .../org/exoplatform/wallet/utils/WalletUtils.java | 5 ++--- .../wallet/reward/test/mock/SpaceServiceMock.java | 14 +++----------- .../service/WalletTransactionServiceImpl.java | 6 +----- .../wallet/test/mock/SpaceServiceMock.java | 14 +++----------- 4 files changed, 9 insertions(+), 30 deletions(-) diff --git a/wallet-api/src/main/java/org/exoplatform/wallet/utils/WalletUtils.java b/wallet-api/src/main/java/org/exoplatform/wallet/utils/WalletUtils.java index 9f8706b75..e57af16c3 100644 --- a/wallet-api/src/main/java/org/exoplatform/wallet/utils/WalletUtils.java +++ b/wallet-api/src/main/java/org/exoplatform/wallet/utils/WalletUtils.java @@ -681,8 +681,7 @@ public static boolean isUserSpaceMember(String spaceId, String accesssor) { throw new IllegalStateException("Space not found with id '" + spaceId + "'"); } SpaceService spaceService = CommonsUtils.getService(SpaceService.class); - return spaceService.isSuperManager(accesssor) || spaceService.isMember(space, accesssor) - || spaceService.isManager(space, accesssor); + return spaceService.canViewSpace(space, accesssor); } public static boolean checkUserIsSpaceManager(String spaceId, @@ -693,7 +692,7 @@ public static boolean checkUserIsSpaceManager(String spaceId, throw new IllegalStateException("Space not found with id '" + spaceId + "'"); } SpaceService spaceService = CommonsUtils.getService(SpaceService.class); - if (!spaceService.isManager(space, modifier) && !spaceService.isSuperManager(modifier)) { + if (!spaceService.canManageSpace(space, modifier)) { if (throwException) { LOG.error("User '{}' attempts to access wallet address of space '{}'", modifier, space.getDisplayName()); throw new IllegalAccessException(); diff --git a/wallet-reward-services/src/test/java/org/exoplatform/wallet/reward/test/mock/SpaceServiceMock.java b/wallet-reward-services/src/test/java/org/exoplatform/wallet/reward/test/mock/SpaceServiceMock.java index 02050b8c6..365d35b29 100644 --- a/wallet-reward-services/src/test/java/org/exoplatform/wallet/reward/test/mock/SpaceServiceMock.java +++ b/wallet-reward-services/src/test/java/org/exoplatform/wallet/reward/test/mock/SpaceServiceMock.java @@ -119,11 +119,11 @@ public Space updateSpace(Space existingSpace) { throw new UnsupportedOperationException(); } - public Space updateSpaceAvatar(Space existingSpace) { + public Space updateSpaceAvatar(Space existingSpace, String username) { throw new UnsupportedOperationException(); } - public Space updateSpaceBanner(Space existingSpace) { + public Space updateSpaceBanner(Space existingSpace, String username) { throw new UnsupportedOperationException(); } @@ -296,7 +296,7 @@ public void renameSpace(Space space, String newDisplayName) throws SpaceExceptio } - public void renameSpace(String remoteId, Space space, String newDisplayName) throws SpaceException { + public void renameSpace(Space space, String newDisplayName, String remoteId) throws SpaceException { throw new UnsupportedOperationException(); } @@ -551,14 +551,6 @@ public void unregisterSpaceLifeCycleListener(SpaceLifeCycleListener listener) { } - public void setPortletsPrefsRequired(PortletPreferenceRequiredPlugin portletPrefsRequiredPlugin) { - // Nothing to change - } - - public String[] getPortletsPrefsRequired() { - throw new UnsupportedOperationException(); - } - public ListAccess getVisitedSpaces(String remoteId, String appId) { throw new UnsupportedOperationException(); } diff --git a/wallet-services/src/main/java/org/exoplatform/wallet/service/WalletTransactionServiceImpl.java b/wallet-services/src/main/java/org/exoplatform/wallet/service/WalletTransactionServiceImpl.java index 75f619885..cd38b343e 100644 --- a/wallet-services/src/main/java/org/exoplatform/wallet/service/WalletTransactionServiceImpl.java +++ b/wallet-services/src/main/java/org/exoplatform/wallet/service/WalletTransactionServiceImpl.java @@ -483,11 +483,7 @@ private boolean displayTransactionsLabel(Wallet senderWallet, String currentUser } if (WalletType.isSpace(senderWallet.getType())) { - if (getSpaceService().isSuperManager(currentUserId)) { - return true; - } - Space space = getSpace(accountId); - return space != null && getSpaceService().isManager(space, currentUserId); + return getSpaceService().canManageSpace(getSpace(accountId), currentUserId); } else { return StringUtils.equalsIgnoreCase(accountId, currentUserId); } diff --git a/wallet-services/src/test/java/org/exoplatform/wallet/test/mock/SpaceServiceMock.java b/wallet-services/src/test/java/org/exoplatform/wallet/test/mock/SpaceServiceMock.java index c4dd052e6..827e88bbc 100644 --- a/wallet-services/src/test/java/org/exoplatform/wallet/test/mock/SpaceServiceMock.java +++ b/wallet-services/src/test/java/org/exoplatform/wallet/test/mock/SpaceServiceMock.java @@ -128,11 +128,11 @@ public Space updateSpace(Space existingSpace) { return existingSpace; } - public Space updateSpaceAvatar(Space existingSpace) { + public Space updateSpaceAvatar(Space existingSpace, String username) { throw new UnsupportedOperationException(); } - public Space updateSpaceBanner(Space existingSpace) { + public Space updateSpaceBanner(Space existingSpace, String username) { throw new UnsupportedOperationException(); } @@ -305,7 +305,7 @@ public void renameSpace(Space space, String newDisplayName) throws SpaceExceptio } - public void renameSpace(String remoteId, Space space, String newDisplayName) throws SpaceException { + public void renameSpace(Space space, String newDisplayName, String remoteId) throws SpaceException { throw new UnsupportedOperationException(); } @@ -560,14 +560,6 @@ public void unregisterSpaceLifeCycleListener(SpaceLifeCycleListener listener) { } - public void setPortletsPrefsRequired(PortletPreferenceRequiredPlugin portletPrefsRequiredPlugin) { - // Nothing to do - } - - public String[] getPortletsPrefsRequired() { - return new String[0]; - } - public ListAccess getVisitedSpaces(String remoteId, String appId) { throw new UnsupportedOperationException(); }