diff options
author | provokateurin <kate@provokateurin.de> | 2024-12-11 10:23:02 +0100 |
---|---|---|
committer | provokateurin <kate@provokateurin.de> | 2024-12-18 10:52:41 +0100 |
commit | 5c360e0367da488febba66325082158725207801 (patch) | |
tree | 9a3a8d9757fc98023ede8fbc2892a1eeda3dc6f1 | |
parent | 654a7d22ff714c4a5a0769bb9d32a509cbb39ac3 (diff) | |
download | nextcloud-server-5c360e0367da488febba66325082158725207801.tar.gz nextcloud-server-5c360e0367da488febba66325082158725207801.zip |
fix(user_status): Catch non-existing user status when setting custom user status
Signed-off-by: provokateurin <kate@provokateurin.de>
-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": {} + } + } + } + } + } + } } } } |