From d96f8e0ab2b4b5bbb4e1951922a9e19e6f380684 Mon Sep 17 00:00:00 2001 From: provokateurin Date: Thu, 30 May 2024 16:59:04 +0200 Subject: [PATCH] fix(NavigationManager): Make entry order always an integer Signed-off-by: provokateurin --- core/ResponseDefinitions.php | 2 +- core/openapi.json | 11 ++--------- lib/private/NavigationManager.php | 2 +- 3 files changed, 4 insertions(+), 11 deletions(-) diff --git a/core/ResponseDefinitions.php b/core/ResponseDefinitions.php index b8f73bcdcda..eba1ca0fcd7 100644 --- a/core/ResponseDefinitions.php +++ b/core/ResponseDefinitions.php @@ -43,7 +43,7 @@ namespace OCA\Core; * * @psalm-type CoreNavigationEntry = array{ * id: string, - * order: int|string, + * order: int, * href: string, * icon: string, * type: string, diff --git a/core/openapi.json b/core/openapi.json index f3cc89b9216..fbdc7092462 100644 --- a/core/openapi.json +++ b/core/openapi.json @@ -196,15 +196,8 @@ "type": "string" }, "order": { - "oneOf": [ - { - "type": "integer", - "format": "int64" - }, - { - "type": "string" - } - ] + "type": "integer", + "format": "int64" }, "href": { "type": "string" diff --git a/lib/private/NavigationManager.php b/lib/private/NavigationManager.php index 17573d9db86..6808ab04c2c 100644 --- a/lib/private/NavigationManager.php +++ b/lib/private/NavigationManager.php @@ -118,7 +118,7 @@ class NavigationManager implements INavigationManager { // This is the default app that will always be shown first $entry['default'] = ($entry['app'] ?? false) === $this->defaultApp; // Set order from user defined app order - $entry['order'] = $this->customAppOrder[$id]['order'] ?? $entry['order'] ?? 100; + $entry['order'] = (int)($this->customAppOrder[$id]['order'] ?? $entry['order'] ?? 100); } $this->entries[$id] = $entry;