From 2be902ef2fd1ce2409bd97e8bed752e13558cf8f Mon Sep 17 00:00:00 2001 From: Aaron Carlino Date: Thu, 7 Dec 2017 16:15:55 +1300 Subject: [PATCH] Adapt to new MemberCacheFlusher interface --- src/Security/InheritedPermissions.php | 12 ++++++------ tests/php/Security/InheritedPermissionsTest.php | 6 +++--- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Security/InheritedPermissions.php b/src/Security/InheritedPermissions.php index 03c55ca70..fb8f4b8fe 100644 --- a/src/Security/InheritedPermissions.php +++ b/src/Security/InheritedPermissions.php @@ -9,7 +9,7 @@ use SilverStripe\ORM\DataObject; use SilverStripe\ORM\Hierarchy\Hierarchy; use SilverStripe\Versioned\Versioned; use Psr\SimpleCache\CacheInterface; -use SilverStripe\Core\Cache\CacheFlusher; +use SilverStripe\Core\Cache\MemberCacheFlusher; /** * Calculates batch permissions for nested objects for: * - canView: Supports 'Anyone' type @@ -17,7 +17,7 @@ use SilverStripe\Core\Cache\CacheFlusher; * - canDelete: Includes special logic for ensuring parent objects can only be deleted if their children can * be deleted also. */ -class InheritedPermissions implements PermissionChecker, CacheFlusher +class InheritedPermissions implements PermissionChecker, MemberCacheFlusher { use Injectable; @@ -127,20 +127,20 @@ class InheritedPermissions implements PermissionChecker, CacheFlusher * Clear the cache for this instance only * @param array $ids A list of member IDs */ - public function flushCache($ids = null) + public function flushMemberCache($memberIDs = null) { if (!$this->cacheService) { return; } // Hard flush, e.g. flush=1 - if (!$ids) { + if (!$memberIDs) { $this->cacheService->clear(); } - if ($ids && is_array($ids)) { + if ($memberIDs && is_array($memberIDs)) { foreach ([self::VIEW, self::EDIT, self::DELETE] as $type) { - foreach ($ids as $memberID) { + foreach ($memberIDs as $memberID) { $key = $this->generateCacheKey($type, $memberID); $this->cacheService->delete($key); } diff --git a/tests/php/Security/InheritedPermissionsTest.php b/tests/php/Security/InheritedPermissionsTest.php index 6e934920f..551f672a5 100644 --- a/tests/php/Security/InheritedPermissionsTest.php +++ b/tests/php/Security/InheritedPermissionsTest.php @@ -347,13 +347,13 @@ class InheritedPermissionsTest extends SapphireTest $permissionChecker = new InheritedPermissions(TestPermissionNode::class, $cache); // Non existent ID - $permissionChecker->flushCache('dummy'); + $permissionChecker->flushMemberCache('dummy'); foreach([$editKey1, $editKey2, $viewKey1, $viewKey2] as $key) { $this->assertNotNull($cache->get($key)); } // Precision strike - $permissionChecker->flushCache([$member1->ID]); + $permissionChecker->flushMemberCache([$member1->ID]); // Member1 should be clear $this->assertNull($cache->get($editKey1)); $this->assertNull($cache->get($viewKey1)); @@ -362,7 +362,7 @@ class InheritedPermissionsTest extends SapphireTest $this->assertNotNull($cache->get($viewKey2)); // Nuclear - $permissionChecker->flushCache(); + $permissionChecker->flushMemberCache(); foreach([$editKey1, $editKey2, $viewKey1, $viewKey2] as $key) { $this->assertNull($cache->get($key)); }