diff options
Diffstat (limited to 'lib/public/IGroup.php')
-rw-r--r-- | lib/public/IGroup.php | 150 |
1 files changed, 150 insertions, 0 deletions
diff --git a/lib/public/IGroup.php b/lib/public/IGroup.php new file mode 100644 index 00000000000..3c53fa666ef --- /dev/null +++ b/lib/public/IGroup.php @@ -0,0 +1,150 @@ +<?php + +declare(strict_types=1); +/** + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-only + */ +namespace OCP; + +/** + * Interface IGroup + * + * @since 8.0.0 + */ +interface IGroup { + /** + * @return string + * @since 8.0.0 + */ + public function getGID(): string; + + /** + * Returns the group display name + * + * @return string + * @since 12.0.0 + */ + public function getDisplayName(): string; + + /** + * Set the group display name + * + * @param string $displayName + * @return bool + * @since 18.0.0 + */ + public function setDisplayName(string $displayName): bool; + + /** + * get all users in the group + * + * @return IUser[] + * @since 8.0.0 + */ + public function getUsers(): array; + + /** + * check if a user is in the group + * + * @param IUser $user + * + * @return bool + * @since 8.0.0 + */ + public function inGroup(IUser $user): bool; + + /** + * add a user to the group + * + * @param IUser $user + * + * @since 8.0.0 + */ + public function addUser(IUser $user): void; + + /** + * Remove a user from the group + * + * @param IUser $user + * + * @since 8.0.0 + */ + public function removeUser(IUser $user): void; + + /** + * search for users in the group by userid + * + * @param string $search + * @param int|null $limit + * @param int|null $offset + * + * @return IUser[] + * @since 8.0.0 + */ + public function searchUsers(string $search, ?int $limit = null, ?int $offset = null): array; + + /** + * returns the number of users matching the search string + * + * @param string $search + * @return int|bool + * @since 8.0.0 + */ + public function count(string $search = ''): int|bool; + + /** + * returns the number of disabled users + * + * @return int|bool + * @since 14.0.0 + */ + public function countDisabled(): int|bool; + + /** + * Search for users in the group by displayname + * + * @param string $search + * @param int|null $limit + * @param int|null $offset + * + * @return IUser[] + * @since 8.0.0 + */ + public function searchDisplayName(string $search, ?int $limit = null, ?int $offset = null): array; + + /** + * Get the names of the backends the group is connected to + * + * @return string[] + * @since 22.0.0 + */ + public function getBackendNames(): array; + + /** + * Delete the group + * + * @return bool + * @since 8.0.0 + */ + public function delete(): bool; + + /** + * @return bool + * @since 14.0.0 + */ + public function canRemoveUser(): bool; + + /** + * @return bool + * @since 14.0.0 + */ + public function canAddUser(): bool; + + /** + * @return bool + * @since 16.0.0 + */ + public function hideFromCollaboration(): bool; +} |