IResource.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. /**
  3. * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors
  4. * SPDX-License-Identifier: AGPL-3.0-or-later
  5. */
  6. namespace OCP\Calendar\Resource;
  7. /**
  8. * Interface IResource
  9. *
  10. * @since 14.0.0
  11. */
  12. interface IResource {
  13. /**
  14. * get the resource id
  15. *
  16. * This id has to be unique within the backend
  17. *
  18. * @return string
  19. * @since 14.0.0
  20. */
  21. public function getId():string;
  22. /**
  23. * get the display name for a resource
  24. *
  25. * @return string
  26. * @since 14.0.0
  27. */
  28. public function getDisplayName():string;
  29. /**
  30. * Get a list of groupIds that are allowed to access this resource
  31. *
  32. * If an empty array is returned, no group restrictions are
  33. * applied.
  34. *
  35. * @return string[]
  36. * @since 14.0.0
  37. */
  38. public function getGroupRestrictions():array;
  39. /**
  40. * get email-address for resource
  41. *
  42. * The email address has to be globally unique
  43. *
  44. * @return string
  45. * @since 14.0.0
  46. */
  47. public function getEMail():string;
  48. /**
  49. * Get corresponding backend object
  50. *
  51. * @return IBackend
  52. * @since 14.0.0
  53. */
  54. public function getBackend():IBackend;
  55. }