diff options
Diffstat (limited to 'core/ResponseDefinitions.php')
-rw-r--r-- | core/ResponseDefinitions.php | 236 |
1 files changed, 236 insertions, 0 deletions
diff --git a/core/ResponseDefinitions.php b/core/ResponseDefinitions.php new file mode 100644 index 00000000000..5a0c00524ee --- /dev/null +++ b/core/ResponseDefinitions.php @@ -0,0 +1,236 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace OC\Core; + +/** + * @psalm-type CoreLoginFlowV2Credentials = array{ + * server: string, + * loginName: string, + * appPassword: string, + * } + * + * @psalm-type CoreLoginFlowV2 = array{ + * poll: array{ + * token: string, + * endpoint: string, + * }, + * login: string, + * } + * + * @psalm-type CoreNavigationEntry = array{ + * id: string, + * order?: int, + * href: string, + * icon: string, + * type: string, + * name: string, + * app?: string, + * default?: bool, + * active: bool, + * classes: string, + * unread: int, + * } + * + * @psalm-type CoreContactsAction = array{ + * title: string, + * icon: string, + * hyperlink: string, + * appId: string, + * } + * + * @psalm-type CoreOpenGraphObject = array{ + * id: string, + * name: string, + * description: ?string, + * thumb: ?string, + * link: string, + * } + * + * @psalm-type CoreResource = array{ + * richObjectType: string, + * richObject: array<string, ?mixed>, + * openGraphObject: CoreOpenGraphObject, + * accessible: bool, + * } + * + * @psalm-type CoreCollection = array{ + * id: int, + * name: string, + * resources: list<CoreResource>, + * } + * + * @psalm-type CoreReference = array{ + * richObjectType: string, + * richObject: array<string, ?mixed>, + * openGraphObject: CoreOpenGraphObject, + * accessible: bool, + * } + * + * @psalm-type CoreReferenceProvider = array{ + * id: string, + * title: string, + * icon_url: string, + * order: int, + * search_providers_ids: ?list<string>, + * } + * + * @psalm-type CoreUnifiedSearchProvider = array{ + * id: string, + * appId: string, + * name: string, + * icon: string, + * order: int, + * isExternalProvider: bool, + * triggers: list<string>, + * filters: array<string, string>, + * inAppSearch: bool, + * } + * + * @psalm-type CoreUnifiedSearchResultEntry = array{ + * thumbnailUrl: string, + * title: string, + * subline: string, + * resourceUrl: string, + * icon: string, + * rounded: bool, + * attributes: list<string>, + * } + * + * @psalm-type CoreUnifiedSearchResult = array{ + * name: string, + * isPaginated: bool, + * entries: list<CoreUnifiedSearchResultEntry>, + * cursor: int|string|null, + * } + * + * @psalm-type CoreAutocompleteResult = array{ + * id: string, + * label: string, + * icon: string, + * source: string, + * status: array{ + * status: string, + * message: ?string, + * icon: ?string, + * clearAt: ?int, + * }|string, + * subline: string, + * shareWithDisplayNameUnique: string, + * } + * + * @psalm-type CoreTextProcessingTask = array{ + * id: ?int, + * type: string, + * status: 0|1|2|3|4, + * userId: ?string, + * appId: string, + * input: string, + * output: ?string, + * identifier: string, + * completionExpectedAt: ?int + * } + * + * @psalm-type CoreTextToImageTask = array{ + * id: ?int, + * status: 0|1|2|3|4, + * userId: ?string, + * appId: string, + * input: string, + * identifier: ?string, + * numberOfImages: int, + * completionExpectedAt: ?int, + * } + * + * @psalm-type CoreTeam = array{ + * id: string, + * name: string, + * icon: string, + * } + * + * @psalm-type CoreTeamResource = array{ + * id: int, + * label: string, + * url: string, + * iconSvg: ?string, + * iconURL: ?string, + * iconEmoji: ?string, + * } + * + * @psalm-type CoreTaskProcessingShape = array{ + * name: string, + * description: string, + * type: "Number"|"Text"|"Audio"|"Image"|"Video"|"File"|"Enum"|"ListOfNumbers"|"ListOfTexts"|"ListOfImages"|"ListOfAudios"|"ListOfVideos"|"ListOfFiles", + * } + * + * @psalm-type CoreTaskProcessingTaskType = array{ + * name: string, + * description: string, + * inputShape: array<string, CoreTaskProcessingShape>, + * inputShapeEnumValues: array<string, list<array{name: string, value: string}>>, + * inputShapeDefaults: array<string, numeric|string>, + * optionalInputShape: array<string, CoreTaskProcessingShape>, + * optionalInputShapeEnumValues: array<string, list<array{name: string, value: string}>>, + * optionalInputShapeDefaults: array<string, numeric|string>, + * outputShape: array<string, CoreTaskProcessingShape>, + * outputShapeEnumValues: array<string, list<array{name: string, value: string}>>, + * optionalOutputShape: array<string, CoreTaskProcessingShape>, + * optionalOutputShapeEnumValues: array<string, list<array{name: string, value: string}>>, + * } + * + * @psalm-type CoreTaskProcessingIO = array<string, numeric|list<numeric>|string|list<string>> + * + * @psalm-type CoreTaskProcessingTask = array{ + * id: int, + * lastUpdated: int, + * type: string, + * status: 'STATUS_CANCELLED'|'STATUS_FAILED'|'STATUS_SUCCESSFUL'|'STATUS_RUNNING'|'STATUS_SCHEDULED'|'STATUS_UNKNOWN', + * userId: ?string, + * appId: string, + * input: CoreTaskProcessingIO, + * output: null|CoreTaskProcessingIO, + * customId: ?string, + * completionExpectedAt: ?int, + * progress: ?float, + * scheduledAt: ?int, + * startedAt: ?int, + * endedAt: ?int, + * allowCleanup: bool, + * } + * + * @psalm-type CoreProfileAction = array{ + * id: string, + * icon: string, + * title: string, + * target: ?string, + * } + * + * @psalm-type CoreProfileFields = array{ + * userId: string, + * address?: string|null, + * biography?: string|null, + * displayname?: string|null, + * headline?: string|null, + * isUserAvatarVisible?: bool, + * organisation?: string|null, + * pronouns?: string|null, + * role?: string|null, + * actions: list<CoreProfileAction>, + * } + * + * @psalm-type CoreProfileData = CoreProfileFields&array{ + * // Timezone identifier like Europe/Berlin or America/North_Dakota/Beulah + * timezone: string, + * // Offset in seconds, negative when behind UTC, positive otherwise + * timezoneOffset: int, + * } + * + */ +class ResponseDefinitions { +} |