ResponseDefinitions.php 3.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. <?php
  2. declare(strict_types=1);
  3. /**
  4. * @copyright Copyright (c) 2023 Kate Döen <kate.doeen@nextcloud.com>
  5. *
  6. * @author Kate Döen <kate.doeen@nextcloud.com>
  7. *
  8. * @license GNU AGPL version 3 or any later version
  9. *
  10. * This program is free software: you can redistribute it and/or modify
  11. * it under the terms of the GNU Affero General Public License as
  12. * published by the Free Software Foundation, either version 3 of the
  13. * License, or (at your option) any later version.
  14. *
  15. * This program is distributed in the hope that it will be useful,
  16. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18. * GNU Affero General Public License for more details.
  19. *
  20. * You should have received a copy of the GNU Affero General Public License
  21. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  22. *
  23. */
  24. namespace OCA\Provisioning_API;
  25. /**
  26. * @psalm-type Provisioning_APIUserDetailsQuota = array{
  27. * free?: float|int,
  28. * quota?: float|int|string,
  29. * relative?: float|int,
  30. * total?: float|int,
  31. * used?: float|int,
  32. * }
  33. *
  34. * @psalm-type Provisioning_APIUserDetailsScope = 'v2-private'|'v2-local'|'v2-federated'|'v2-published'|'private'|'contacts'|'public'
  35. *
  36. * @psalm-type Provisioning_APIUserDetails = array{
  37. * additional_mail: string[],
  38. * additional_mailScope?: Provisioning_APIUserDetailsScope[],
  39. * address: string,
  40. * addressScope?: Provisioning_APIUserDetailsScope,
  41. * avatarScope?: Provisioning_APIUserDetailsScope,
  42. * backend: string,
  43. * backendCapabilities: array{
  44. * setDisplayName: bool,
  45. * setPassword: bool
  46. * },
  47. * biography: string,
  48. * biographyScope?: Provisioning_APIUserDetailsScope,
  49. * display-name: string,
  50. * displayname: string,
  51. * displaynameScope?: Provisioning_APIUserDetailsScope,
  52. * email: ?string,
  53. * emailScope?: Provisioning_APIUserDetailsScope,
  54. * enabled?: bool,
  55. * fediverse: string,
  56. * fediverseScope?: Provisioning_APIUserDetailsScope,
  57. * groups: string[],
  58. * headline: string,
  59. * headlineScope?: Provisioning_APIUserDetailsScope,
  60. * id: string,
  61. * language: string,
  62. * lastLogin: int,
  63. * locale: string,
  64. * manager: string,
  65. * notify_email: ?string,
  66. * organisation: string,
  67. * organisationScope?: Provisioning_APIUserDetailsScope,
  68. * phone: string,
  69. * phoneScope?: Provisioning_APIUserDetailsScope,
  70. * profile_enabled: string,
  71. * profile_enabledScope?: Provisioning_APIUserDetailsScope,
  72. * quota: Provisioning_APIUserDetailsQuota,
  73. * role: string,
  74. * roleScope?: Provisioning_APIUserDetailsScope,
  75. * storageLocation?: string,
  76. * subadmin: string[],
  77. * twitter: string,
  78. * twitterScope?: Provisioning_APIUserDetailsScope,
  79. * website: string,
  80. * websiteScope?: Provisioning_APIUserDetailsScope,
  81. * }
  82. *
  83. * @psalm-type Provisioning_APIGroupDetails = array{
  84. * id: string,
  85. * displayname: string,
  86. * usercount: bool|int,
  87. * disabled: bool|int,
  88. * canAdd: bool,
  89. * canRemove: bool,
  90. * }
  91. */
  92. class ResponseDefinitions {
  93. }