diff --git a/lib/Controller/WorkspaceController.php b/lib/Controller/WorkspaceController.php index 055e0ef9..f92d2946 100644 --- a/lib/Controller/WorkspaceController.php +++ b/lib/Controller/WorkspaceController.php @@ -96,8 +96,8 @@ public function createWorkspace(string $spaceName, throw new BadRequestException('spaceName must be provided'); } - if($this->workspaceCheck->containSpecialChar($spaceName)) { - throw new BadRequestException('Your Workspace name must not contain the following characters: ' . implode(" ", str_split(WorkspaceCheckService::CHARACTERS_SPECIAL))); + if ($this->workspaceCheck->containSpecialChar($spaceName)) { + throw new BadRequestException('Your Workspace name must not contain the following characters: ' . implode(' ', str_split(WorkspaceCheckService::CHARACTERS_SPECIAL))); } if ($this->workspaceCheck->isExist($spaceName)) { @@ -196,8 +196,24 @@ public function findAll(): JSONResponse { ) : $workspace; $gids = array_keys($space['groups'] ?? []); - $groups = array_map(fn ($gid) => $this->groupManager->get($gid), $gids); - + + $groups = []; + + foreach ($gids as $gid) { + $group = $this->groupManager->get($gid); + + if (is_null($group)) { + $this->logger->warning( + "Be careful, the $gid group is not exist in the oc_groups table." + . " But, it's present in the oc_group_folders_groups table." + . 'It necessary to recreate it with the occ command.' + ); + continue; + } + + $groups[] = $group; + } + $space['groups'] = GroupFormatter::formatGroups($groups); $space['users'] = $this->workspaceService->addUsersInfo($space); @@ -304,7 +320,7 @@ public function renameSpace(array|string $workspace, } if ($this->workspaceCheck->containSpecialChar($newSpaceName)) { - throw new BadRequestException('Your Workspace name must not contain the following characters: ' . implode(" ", str_split(WorkspaceCheckService::CHARACTERS_SPECIAL))); + throw new BadRequestException('Your Workspace name must not contain the following characters: ' . implode(' ', str_split(WorkspaceCheckService::CHARACTERS_SPECIAL))); } if ($newSpaceName === false ||