ResponseDefinitions.php 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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\Provisioning_API;
  8. /**
  9. * @psalm-type Provisioning_APIUserDetailsQuota = array{
  10. * free?: float|int,
  11. * quota?: float|int|string,
  12. * relative?: float|int,
  13. * total?: float|int,
  14. * used?: float|int,
  15. * }
  16. *
  17. * @psalm-type Provisioning_APIUserDetailsScope = 'v2-private'|'v2-local'|'v2-federated'|'v2-published'|'private'|'contacts'|'public'
  18. *
  19. * @psalm-type Provisioning_APIUserDetails = array{
  20. * additional_mail: string[],
  21. * additional_mailScope?: Provisioning_APIUserDetailsScope[],
  22. * address: string,
  23. * addressScope?: Provisioning_APIUserDetailsScope,
  24. * avatarScope?: Provisioning_APIUserDetailsScope,
  25. * backend: string,
  26. * backendCapabilities: array{
  27. * setDisplayName: bool,
  28. * setPassword: bool
  29. * },
  30. * biography: string,
  31. * biographyScope?: Provisioning_APIUserDetailsScope,
  32. * display-name: string,
  33. * displayname: string,
  34. * displaynameScope?: Provisioning_APIUserDetailsScope,
  35. * email: ?string,
  36. * emailScope?: Provisioning_APIUserDetailsScope,
  37. * enabled?: bool,
  38. * fediverse: string,
  39. * fediverseScope?: Provisioning_APIUserDetailsScope,
  40. * groups: string[],
  41. * headline: string,
  42. * headlineScope?: Provisioning_APIUserDetailsScope,
  43. * id: string,
  44. * language: string,
  45. * lastLogin: int,
  46. * locale: string,
  47. * manager: string,
  48. * notify_email: ?string,
  49. * organisation: string,
  50. * organisationScope?: Provisioning_APIUserDetailsScope,
  51. * phone: string,
  52. * phoneScope?: Provisioning_APIUserDetailsScope,
  53. * profile_enabled: string,
  54. * profile_enabledScope?: Provisioning_APIUserDetailsScope,
  55. * quota: Provisioning_APIUserDetailsQuota,
  56. * role: string,
  57. * roleScope?: Provisioning_APIUserDetailsScope,
  58. * storageLocation?: string,
  59. * subadmin: string[],
  60. * twitter: string,
  61. * twitterScope?: Provisioning_APIUserDetailsScope,
  62. * website: string,
  63. * websiteScope?: Provisioning_APIUserDetailsScope,
  64. * }
  65. *
  66. * @psalm-type Provisioning_APIGroupDetails = array{
  67. * id: string,
  68. * displayname: string,
  69. * usercount: bool|int,
  70. * disabled: bool|int,
  71. * canAdd: bool,
  72. * canRemove: bool,
  73. * }
  74. */
  75. class ResponseDefinitions {
  76. }