1
0

ResponseDefinitions.php 1005 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. <?php
  2. declare(strict_types=1);
  3. /**
  4. * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
  5. * SPDX-License-Identifier: AGPL-3.0-or-later
  6. */
  7. namespace OCA\UserStatus;
  8. /**
  9. * @psalm-type UserStatusClearAtTimeType = "day"|"week"
  10. *
  11. * @psalm-type UserStatusClearAt = array{
  12. * type: "period"|"end-of",
  13. * time: int|UserStatusClearAtTimeType,
  14. * }
  15. *
  16. * @psalm-type UserStatusPredefined = array{
  17. * id: string,
  18. * icon: string,
  19. * message: string,
  20. * clearAt: ?UserStatusClearAt,
  21. * visible: ?bool,
  22. * }
  23. *
  24. * @psalm-type UserStatusType = "online"|"away"|"dnd"|"busy"|"offline"|"invisible"
  25. *
  26. * @psalm-type UserStatusPublic = array{
  27. * userId: string,
  28. * message: ?string,
  29. * icon: ?string,
  30. * clearAt: ?int,
  31. * status: UserStatusType,
  32. * }
  33. *
  34. * @psalm-type UserStatusPrivate = UserStatusPublic&array{
  35. * messageId: ?string,
  36. * messageIsPredefined: bool,
  37. * statusIsUserDefined: bool,
  38. * }
  39. */
  40. class ResponseDefinitions {
  41. }