diff options
Diffstat (limited to 'apps')
-rw-r--r-- | apps/user_status/lib/Controller/UserStatusController.php | 3 | ||||
-rw-r--r-- | apps/user_status/openapi.json | 28 |
2 files changed, 31 insertions, 0 deletions
diff --git a/apps/user_status/lib/Controller/UserStatusController.php b/apps/user_status/lib/Controller/UserStatusController.php index da39710b3fb..9b3807ce86e 100644 --- a/apps/user_status/lib/Controller/UserStatusController.php +++ b/apps/user_status/lib/Controller/UserStatusController.php @@ -123,6 +123,7 @@ class UserStatusController extends OCSController { * @param int|null $clearAt When the message should be cleared * @return DataResponse<Http::STATUS_OK, UserStatusPrivate, array{}> * @throws OCSBadRequestException The clearAt or icon is invalid or the message is too long + * @throws OCSNotFoundException No status for the current user * * 200: The message was updated successfully */ @@ -149,6 +150,8 @@ class UserStatusController extends OCSController { } catch (StatusMessageTooLongException $ex) { $this->logger->debug('New user-status for "' . $this->userId . '" was rejected due to a too long status message.'); throw new OCSBadRequestException($ex->getMessage(), $ex); + } catch (DoesNotExistException $ex) { + throw new OCSNotFoundException('No status for the current user'); } } diff --git a/apps/user_status/openapi.json b/apps/user_status/openapi.json index 580f17e334d..861ba343aba 100644 --- a/apps/user_status/openapi.json +++ b/apps/user_status/openapi.json @@ -1016,6 +1016,34 @@ } } } + }, + "404": { + "description": "No status for the current user", + "content": { + "application/json": { + "schema": { + "type": "object", + "required": [ + "ocs" + ], + "properties": { + "ocs": { + "type": "object", + "required": [ + "meta", + "data" + ], + "properties": { + "meta": { + "$ref": "#/components/schemas/OCSMeta" + }, + "data": {} + } + } + } + } + } + } } } } |