aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files_sharing/lib/ResponseDefinitions.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files_sharing/lib/ResponseDefinitions.php')
-rw-r--r--apps/files_sharing/lib/ResponseDefinitions.php237
1 files changed, 237 insertions, 0 deletions
diff --git a/apps/files_sharing/lib/ResponseDefinitions.php b/apps/files_sharing/lib/ResponseDefinitions.php
new file mode 100644
index 00000000000..71a2b25a70c
--- /dev/null
+++ b/apps/files_sharing/lib/ResponseDefinitions.php
@@ -0,0 +1,237 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+namespace OCA\Files_Sharing;
+
+/**
+ * @psalm-type Files_SharingShare = array{
+ * attributes: ?string,
+ * can_delete: bool,
+ * can_edit: bool,
+ * displayname_file_owner: string,
+ * displayname_owner: string,
+ * expiration: ?string,
+ * file_parent: int,
+ * file_source: int,
+ * file_target: string,
+ * has_preview: bool,
+ * hide_download: 0|1,
+ * is_trusted_server?: bool,
+ * is-mount-root: bool,
+ * id: string,
+ * item_mtime: int,
+ * item_permissions?: int,
+ * item_size: float|int,
+ * item_source: int,
+ * item_type: 'file'|'folder',
+ * label: string,
+ * mail_send: 0|1,
+ * mimetype: string,
+ * mount-type: string,
+ * note: string,
+ * parent: null,
+ * password?: null|string,
+ * password_expiration_time?: ?string,
+ * path: ?string,
+ * permissions: int,
+ * send_password_by_talk?: bool,
+ * share_type: int,
+ * share_with?: null|string,
+ * share_with_avatar?: string,
+ * share_with_displayname?: string,
+ * share_with_displayname_unique?: ?string,
+ * share_with_link?: string,
+ * status?: array{clearAt: int|null, icon: ?string, message: ?string, status: string},
+ * stime: int,
+ * storage: int,
+ * storage_id: string,
+ * token: ?string,
+ * uid_file_owner: string,
+ * uid_owner: string,
+ * url?: string,
+ * }
+ *
+ * @psalm-type Files_SharingDeletedShare = array{
+ * id: string,
+ * share_type: int,
+ * uid_owner: string,
+ * displayname_owner: string,
+ * permissions: int,
+ * stime: int,
+ * uid_file_owner: string,
+ * displayname_file_owner: string,
+ * path: string,
+ * item_type: string,
+ * mimetype: string,
+ * storage: int,
+ * item_source: int,
+ * file_source: int,
+ * file_parent: int,
+ * file_target: int,
+ * expiration: string|null,
+ * share_with: string|null,
+ * share_with_displayname: string|null,
+ * share_with_link: string|null,
+ * }
+ *
+ * @psalm-type Files_SharingRemoteShare = array{
+ * accepted: bool,
+ * file_id: int|null,
+ * id: int,
+ * mimetype: string|null,
+ * mountpoint: string,
+ * mtime: int|null,
+ * name: string,
+ * owner: string,
+ * parent: int|null,
+ * permissions: int|null,
+ * remote: string,
+ * remote_id: string,
+ * share_token: string,
+ * share_type: int,
+ * type: string|null,
+ * user: string,
+ * }
+ *
+ * @psalm-type Files_SharingSharee = array{
+ * label: string,
+ * }
+ *
+ * @psalm-type Files_SharingShareeValue = array{
+ * shareType: int,
+ * shareWith: string,
+ * }
+ *
+ * @psalm-type Files_SharingShareeGroup = Files_SharingSharee&array{
+ * value: Files_SharingShareeValue,
+ * }
+ *
+ * @psalm-type Files_SharingShareeRoom = Files_SharingSharee&array{
+ * value: Files_SharingShareeValue,
+ * }
+ *
+ * @psalm-type Files_SharingShareeUser = Files_SharingSharee&array{
+ * subline: string,
+ * icon: string,
+ * shareWithDisplayNameUnique: string,
+ * status: array{
+ * status: string,
+ * message: string,
+ * icon: string,
+ * clearAt: int|null,
+ * },
+ * value: Files_SharingShareeValue,
+ * }
+ *
+ * @psalm-type Files_SharingShareeRemoteGroup = Files_SharingSharee&array{
+ * guid: string,
+ * name: string,
+ * value: Files_SharingShareeValue&array{
+ * server: string,
+ * }
+ * }
+ *
+ * @psalm-type Files_SharingLookup = array{
+ * value: string,
+ * verified: int,
+ * }
+ *
+ * @psalm-type Files_SharingShareeLookup = Files_SharingSharee&array{
+ * extra: array{
+ * federationId: string,
+ * name: Files_SharingLookup|null,
+ * email: Files_SharingLookup|null,
+ * address: Files_SharingLookup|null,
+ * website: Files_SharingLookup|null,
+ * twitter: Files_SharingLookup|null,
+ * phone: Files_SharingLookup|null,
+ * twitter_signature: Files_SharingLookup|null,
+ * website_signature: Files_SharingLookup|null,
+ * userid: Files_SharingLookup|null,
+ * },
+ * value: Files_SharingShareeValue&array{
+ * globalScale: bool,
+ * }
+ * }
+ *
+ * @psalm-type Files_SharingShareeEmail = Files_SharingSharee&array{
+ * uuid: string,
+ * name: string,
+ * type: string,
+ * shareWithDisplayNameUnique: string,
+ * value: Files_SharingShareeValue,
+ * }
+ *
+ * @psalm-type Files_SharingShareeRemote = Files_SharingSharee&array{
+ * uuid: string,
+ * name: string,
+ * type: string,
+ * value: Files_SharingShareeValue&array{
+ * server: string,
+ * }
+ * }
+ *
+ * @psalm-type Files_SharingShareeCircle = Files_SharingSharee&array{
+ * shareWithDescription: string,
+ * value: Files_SharingShareeValue&array{
+ * circle: string,
+ * }
+ * }
+ *
+ * @psalm-type Files_SharingShareesSearchResult = array{
+ * exact: array{
+ * circles: list<Files_SharingShareeCircle>,
+ * emails: list<Files_SharingShareeEmail>,
+ * groups: list<Files_SharingShareeGroup>,
+ * remote_groups: list<Files_SharingShareeRemoteGroup>,
+ * remotes: list<Files_SharingShareeRemote>,
+ * rooms: list<Files_SharingShareeRoom>,
+ * users: list<Files_SharingShareeUser>,
+ * },
+ * circles: list<Files_SharingShareeCircle>,
+ * emails: list<Files_SharingShareeEmail>,
+ * groups: list<Files_SharingShareeGroup>,
+ * lookup: list<Files_SharingShareeLookup>,
+ * remote_groups: list<Files_SharingShareeRemoteGroup>,
+ * remotes: list<Files_SharingShareeRemote>,
+ * rooms: list<Files_SharingShareeRoom>,
+ * users: list<Files_SharingShareeUser>,
+ * lookupEnabled: bool,
+ * }
+ *
+ * @psalm-type Files_SharingShareesRecommendedResult = array{
+ * exact: array{
+ * emails: list<Files_SharingShareeEmail>,
+ * groups: list<Files_SharingShareeGroup>,
+ * remote_groups: list<Files_SharingShareeRemoteGroup>,
+ * remotes: list<Files_SharingShareeRemote>,
+ * users: list<Files_SharingShareeUser>,
+ * },
+ * emails: list<Files_SharingShareeEmail>,
+ * groups: list<Files_SharingShareeGroup>,
+ * remote_groups: list<Files_SharingShareeRemoteGroup>,
+ * remotes: list<Files_SharingShareeRemote>,
+ * users: list<Files_SharingShareeUser>,
+ * }
+ *
+ * @psalm-type Files_SharingShareInfo = array{
+ * id: int,
+ * parentId: int,
+ * mtime: int,
+ * name: string,
+ * permissions: int,
+ * mimetype: string,
+ * size: int|float,
+ * type: string,
+ * etag: string,
+ * children?: list<array<string, mixed>>,
+ * }
+ */
+class ResponseDefinitions {
+}