mirror of
https://github.com/nextcloud/server.git
synced 2026-04-24 23:59:27 -04:00
Merge pull request #31494 from nextcloud/fix/fix-group-metadata-typing
Fix group metadata typing
This commit is contained in:
commit
430bd6b1e2
1 changed files with 13 additions and 21 deletions
|
|
@ -30,6 +30,7 @@
|
|||
namespace OC\Group;
|
||||
|
||||
use OC\Group\Manager as GroupManager;
|
||||
use OCP\IGroup;
|
||||
use OCP\IGroupManager;
|
||||
use OCP\IUserSession;
|
||||
|
||||
|
|
@ -46,25 +47,23 @@ class MetaData {
|
|||
protected $metaData = [];
|
||||
/** @var GroupManager */
|
||||
protected $groupManager;
|
||||
/** @var bool */
|
||||
protected $sorting = false;
|
||||
/** @var int */
|
||||
protected $sorting = self::SORT_NONE;
|
||||
/** @var IUserSession */
|
||||
protected $userSession;
|
||||
|
||||
/**
|
||||
* @param string $user the uid of the current user
|
||||
* @param bool $isAdmin whether the current users is an admin
|
||||
* @param IGroupManager $groupManager
|
||||
* @param IUserSession $userSession
|
||||
*/
|
||||
public function __construct(
|
||||
$user,
|
||||
$isAdmin,
|
||||
string $user,
|
||||
bool $isAdmin,
|
||||
IGroupManager $groupManager,
|
||||
IUserSession $userSession
|
||||
) {
|
||||
$this->user = $user;
|
||||
$this->isAdmin = (bool)$isAdmin;
|
||||
$this->isAdmin = $isAdmin;
|
||||
$this->groupManager = $groupManager;
|
||||
$this->userSession = $userSession;
|
||||
}
|
||||
|
|
@ -77,9 +76,8 @@ class MetaData {
|
|||
* @param string $groupSearch only effective when instance was created with
|
||||
* isAdmin being true
|
||||
* @param string $userSearch the pattern users are search for
|
||||
* @return array
|
||||
*/
|
||||
public function get($groupSearch = '', $userSearch = '') {
|
||||
public function get(string $groupSearch = '', string $userSearch = ''): array {
|
||||
$key = $groupSearch . '::' . $userSearch;
|
||||
if (isset($this->metaData[$key])) {
|
||||
return $this->metaData[$key];
|
||||
|
|
@ -122,10 +120,8 @@ class MetaData {
|
|||
|
||||
/**
|
||||
* sets the sort mode, see SORT_* constants for supported modes
|
||||
*
|
||||
* @param int $sortMode
|
||||
*/
|
||||
public function setSorting($sortMode) {
|
||||
public function setSorting(int $sortMode): void {
|
||||
switch ($sortMode) {
|
||||
case self::SORT_USERCOUNT:
|
||||
case self::SORT_GROUPNAME:
|
||||
|
|
@ -144,7 +140,7 @@ class MetaData {
|
|||
* @param int $sortIndex the sort key index, by reference
|
||||
* @param array $data the group's meta data as returned by generateGroupMetaData()
|
||||
*/
|
||||
private function addEntry(&$entries, &$sortKeys, &$sortIndex, $data) {
|
||||
private function addEntry(array &$entries, array &$sortKeys, int &$sortIndex, array $data): void {
|
||||
$entries[] = $data;
|
||||
if ($this->sorting === self::SORT_USERCOUNT) {
|
||||
$sortKeys[$sortIndex] = $data['usercount'];
|
||||
|
|
@ -157,11 +153,9 @@ class MetaData {
|
|||
|
||||
/**
|
||||
* creates an array containing the group meta data
|
||||
* @param \OCP\IGroup $group
|
||||
* @param string $userSearch
|
||||
* @return array with the keys 'id', 'name', 'usercount' and 'disabled'
|
||||
*/
|
||||
private function generateGroupMetaData(\OCP\IGroup $group, $userSearch) {
|
||||
private function generateGroupMetaData(IGroup $group, string $userSearch): array {
|
||||
return [
|
||||
'id' => $group->getGID(),
|
||||
'name' => $group->getDisplayName(),
|
||||
|
|
@ -176,9 +170,8 @@ class MetaData {
|
|||
* sorts the result array, if applicable
|
||||
* @param array $entries the result array, by reference
|
||||
* @param array $sortKeys the array containing the sort keys
|
||||
* @param return null
|
||||
*/
|
||||
private function sort(&$entries, $sortKeys) {
|
||||
private function sort(array &$entries, array $sortKeys): void {
|
||||
if ($this->sorting === self::SORT_USERCOUNT) {
|
||||
array_multisort($sortKeys, SORT_DESC, $entries);
|
||||
} elseif ($this->sorting === self::SORT_GROUPNAME) {
|
||||
|
|
@ -188,10 +181,9 @@ class MetaData {
|
|||
|
||||
/**
|
||||
* returns the available groups
|
||||
* @param string $search a search string
|
||||
* @return \OCP\IGroup[]
|
||||
* @return IGroup[]
|
||||
*/
|
||||
public function getGroups($search = '') {
|
||||
public function getGroups(string $search = ''): array {
|
||||
if ($this->isAdmin) {
|
||||
return $this->groupManager->search($search);
|
||||
} else {
|
||||
|
|
|
|||
Loading…
Reference in a new issue