ITeamManager.php 920 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. <?php
  2. /**
  3. * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
  4. * SPDX-License-Identifier: AGPL-3.0-or-later
  5. */
  6. namespace OCP\Teams;
  7. /**
  8. * @since 29.0.0
  9. */
  10. interface ITeamManager {
  11. /**
  12. * Get all providers that have registered as a team resource provider
  13. *
  14. * @return ITeamResourceProvider[]
  15. * @since 29.0.0
  16. */
  17. public function getProviders(): array;
  18. /**
  19. * Get a specific team resource provider by its id
  20. *
  21. * @since 29.0.0
  22. */
  23. public function getProvider(string $providerId): ITeamResourceProvider;
  24. /**
  25. * Returns all team resources for a given team and user
  26. *
  27. * @return TeamResource[]
  28. * @since 29.0.0
  29. */
  30. public function getSharedWith(string $teamId, string $userId): array;
  31. /**
  32. * Returns all teams for a given resource and user
  33. *
  34. * @since 29.0.0
  35. */
  36. public function getTeamsForResource(string $providerId, string $resourceId, string $userId): array;
  37. }