diff --git a/lib/Service/CirclesService.php b/lib/Service/CirclesService.php index 4df7a7987..1977f836b 100644 --- a/lib/Service/CirclesService.php +++ b/lib/Service/CirclesService.php @@ -26,6 +26,7 @@ declare(strict_types=1); namespace OCA\Deck\Service; +use OCA\Circles\Api\v1\Circles; use OCP\App\IAppManager; /** @@ -53,8 +54,8 @@ class CirclesService { } try { - \OCA\Circles\Api\v1\Circles::getMember($circleId, $userId, 1, true); - return true; + $member = \OCA\Circles\Api\v1\Circles::getMember($circleId, $userId, 1, true); + return $member->getLevel() >= Circles::LEVEL_MEMBER; } catch (\Exception $e) { } return false; diff --git a/lib/Service/PermissionService.php b/lib/Service/PermissionService.php index f02124b38..8f33b77ce 100644 --- a/lib/Service/PermissionService.php +++ b/lib/Service/PermissionService.php @@ -24,6 +24,7 @@ namespace OCA\Deck\Service; use OC\Cache\CappedMemoryCache; +use OCA\Circles\Model\Member; use OCA\Deck\Db\Acl; use OCA\Deck\Db\AclMapper; use OCA\Deck\Db\Board; @@ -32,7 +33,6 @@ use OCA\Deck\Db\IPermissionMapper; use OCA\Deck\Db\User; use OCA\Deck\NoPermissionException; use OCP\AppFramework\Db\DoesNotExistException; -use OCP\AppFramework\Db\Entity; use OCP\AppFramework\Db\MultipleObjectsReturnedException; use OCP\IConfig; use OCP\IGroupManager; @@ -212,8 +212,8 @@ class PermissionService { if ($this->circlesEnabled && $acl->getType() === Acl::PERMISSION_TYPE_CIRCLE) { try { - \OCA\Circles\Api\v1\Circles::getMember($acl->getParticipant(), $this->userId, 1, true); - return $acl->getPermission($permission); + $member = \OCA\Circles\Api\v1\Circles::getMember($acl->getParticipant(), $this->userId, 1, true); + return $member->getLevel() >= Member::LEVEL_MEMBER && $acl->getPermission($permission); } catch (\Exception $e) { $this->logger->info('Member not found in circle that was accessed. This should not happen.'); } diff --git a/tests/psalm-baseline.xml b/tests/psalm-baseline.xml index 16058795f..6f88430f7 100644 --- a/tests/psalm-baseline.xml +++ b/tests/psalm-baseline.xml @@ -263,7 +263,8 @@ - + + Member \OCA\Circles\Api\v1\Circles \OCA\Circles\Api\v1\Circles