Let OC\Group\Group handle the fallback and remove default implementation from ABackend

Signed-off-by: Côme Chilliet <come.chilliet@nextcloud.com>
This commit is contained in:
Côme Chilliet 2022-12-22 12:19:06 +01:00
parent 3c2b126eba
commit 6385a5af36
No known key found for this signature in database
GPG key ID: A3E2F658B28C760A
3 changed files with 3 additions and 30 deletions

View file

@ -48,12 +48,11 @@ use Exception;
use OC\ServerNotAvailableException;
use OCP\Cache\CappedMemoryCache;
use OCP\GroupInterface;
use OCP\Group\Backend\ABackend;
use OCP\Group\Backend\IDeleteGroupBackend;
use OCP\Group\Backend\IGetDisplayNameBackend;
use Psr\Log\LoggerInterface;
class Group_LDAP extends ABackend implements GroupInterface, IGroupLDAP, IGetDisplayNameBackend, IDeleteGroupBackend {
class Group_LDAP extends BackendUtility implements GroupInterface, IGroupLDAP, IGetDisplayNameBackend, IDeleteGroupBackend {
protected bool $enabled = false;
/** @var CappedMemoryCache<string[]> $cachedGroupMembers array of users with gid as key */
@ -64,7 +63,6 @@ class Group_LDAP extends ABackend implements GroupInterface, IGroupLDAP, IGetDis
protected CappedMemoryCache $cachedNestedGroups;
protected GroupPluginManager $groupPluginManager;
protected LoggerInterface $logger;
protected Access $access;
/**
* @var string $ldapGroupMemberAssocAttr contains the LDAP setting (in lower case) with the same name
@ -72,7 +70,7 @@ class Group_LDAP extends ABackend implements GroupInterface, IGroupLDAP, IGetDis
protected string $ldapGroupMemberAssocAttr;
public function __construct(Access $access, GroupPluginManager $groupPluginManager) {
$this->access = $access;
parent::__construct($access);
$filter = $this->access->connection->ldapGroupFilter;
$gAssoc = $this->access->connection->ldapGroupMemberAssocAttr;
if (!empty($filter) && !empty($gAssoc)) {
@ -1333,11 +1331,4 @@ class Group_LDAP extends ABackend implements GroupInterface, IGroupLDAP, IGetDis
$this->access->connection->writeToCache($cacheKey, $displayName);
return $displayName;
}
public function searchInGroup(string $gid, string $search = '', int $limit = -1, int $offset = 0): array {
if (!$this->enabled) {
return [];
}
return parent::searchInGroup($gid, $search, $limit, $offset);
}
}

View file

@ -5,11 +5,6 @@
<code>OC</code>
</UndefinedClass>
</file>
<file src="lib/public/Group/Backend/ABackend.php">
<UndefinedClass occurrences="2">
<code>OC</code>
</UndefinedClass>
</file>
<file src="lib/public/AppFramework/ApiController.php">
<NoInterfaceProperties occurrences="1">
<code>$this-&gt;request-&gt;server</code>

View file

@ -26,14 +26,11 @@ declare(strict_types=1);
namespace OCP\Group\Backend;
use OCP\GroupInterface;
use OCP\IUserManager;
use OCP\Server;
use OC\User\LazyUser;
/**
* @since 14.0.0
*/
abstract class ABackend implements GroupInterface, ISearchableGroupBackend {
abstract class ABackend implements GroupInterface {
/**
* @deprecated 14.0.0
* @since 14.0.0
@ -68,14 +65,4 @@ abstract class ABackend implements GroupInterface, ISearchableGroupBackend {
return (bool)($actions & $implements);
}
public function searchInGroup(string $gid, string $search = '', int $limit = -1, int $offset = 0): array {
// Default implementation for compatibility reasons
$userManager = Server::get(IUserManager::class);
$users = [];
foreach ($this->usersInGroup($gid, $search, $limit, $offset) as $userId) {
$users[$userId] = new LazyUser($userId, $userManager);
}
return $users;
}
}