aboutsummaryrefslogtreecommitdiffstats
path: root/apps/provisioning_api/lib/ResponseDefinitions.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/provisioning_api/lib/ResponseDefinitions.php')
-rw-r--r--apps/provisioning_api/lib/ResponseDefinitions.php63
1 files changed, 27 insertions, 36 deletions
diff --git a/apps/provisioning_api/lib/ResponseDefinitions.php b/apps/provisioning_api/lib/ResponseDefinitions.php
index 07777f1f35f..62ae4ca577b 100644
--- a/apps/provisioning_api/lib/ResponseDefinitions.php
+++ b/apps/provisioning_api/lib/ResponseDefinitions.php
@@ -3,25 +3,8 @@
declare(strict_types=1);
/**
- * @copyright Copyright (c) 2023 Kate Döen <kate.doeen@nextcloud.com>
- *
- * @author Kate Döen <kate.doeen@nextcloud.com>
- *
- * @license GNU AGPL version 3 or any later version
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
+ * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
*/
namespace OCA\Provisioning_API;
@@ -35,51 +18,59 @@ namespace OCA\Provisioning_API;
* used?: float|int,
* }
*
+ * @psalm-type Provisioning_APIUserDetailsScope = 'v2-private'|'v2-local'|'v2-federated'|'v2-published'|'private'|'contacts'|'public'
+ *
* @psalm-type Provisioning_APIUserDetails = array{
- * additional_mail: string[],
- * additional_mailScope?: string[],
+ * additional_mail: list<string>,
+ * additional_mailScope?: list<Provisioning_APIUserDetailsScope>,
* address: string,
- * addressScope?: string,
- * avatarScope?: string,
+ * addressScope?: Provisioning_APIUserDetailsScope,
+ * avatarScope?: Provisioning_APIUserDetailsScope,
* backend: string,
* backendCapabilities: array{
* setDisplayName: bool,
* setPassword: bool
* },
* biography: string,
- * biographyScope?: string,
+ * biographyScope?: Provisioning_APIUserDetailsScope,
* display-name: string,
* displayname: string,
- * displaynameScope?: string,
+ * displaynameScope?: Provisioning_APIUserDetailsScope,
* email: ?string,
- * emailScope?: string,
+ * emailScope?: Provisioning_APIUserDetailsScope,
* enabled?: bool,
* fediverse: string,
- * fediverseScope?: string,
- * groups: string[],
+ * fediverseScope?: Provisioning_APIUserDetailsScope,
+ * groups: list<string>,
* headline: string,
- * headlineScope?: string,
+ * headlineScope?: Provisioning_APIUserDetailsScope,
* id: string,
* language: string,
+ * firstLoginTimestamp: int,
+ * lastLoginTimestamp: int,
* lastLogin: int,
* locale: string,
* manager: string,
* notify_email: ?string,
* organisation: string,
- * organisationScope?: string,
+ * organisationScope?: Provisioning_APIUserDetailsScope,
* phone: string,
- * phoneScope?: string,
+ * phoneScope?: Provisioning_APIUserDetailsScope,
* profile_enabled: string,
- * profile_enabledScope?: string,
+ * profile_enabledScope?: Provisioning_APIUserDetailsScope,
+ * pronouns: string,
+ * pronounsScope?: Provisioning_APIUserDetailsScope,
* quota: Provisioning_APIUserDetailsQuota,
* role: string,
- * roleScope?: string,
+ * roleScope?: Provisioning_APIUserDetailsScope,
* storageLocation?: string,
- * subadmin: string[],
+ * subadmin: list<string>,
* twitter: string,
- * twitterScope?: string,
+ * twitterScope?: Provisioning_APIUserDetailsScope,
+ * bluesky: string,
+ * blueskyScope?: Provisioning_APIUserDetailsScope,
* website: string,
- * websiteScope?: string,
+ * websiteScope?: Provisioning_APIUserDetailsScope,
* }
*
* @psalm-type Provisioning_APIGroupDetails = array{