diff --git a/core/ResponseDefinitions.php b/core/ResponseDefinitions.php index f186f52c33572..f7e046003a076 100644 --- a/core/ResponseDefinitions.php +++ b/core/ResponseDefinitions.php @@ -26,11 +26,13 @@ * * @psalm-type CoreNavigationEntry = array{ * id: string, - * order: int|string, + * order?: int, * href: string, * icon: string, * type: string, * name: string, + * app?: string, + * default?: bool, * active: bool, * classes: string, * unread: int, diff --git a/core/openapi.json b/core/openapi.json index a20691046fa7a..68901630d198a 100644 --- a/core/openapi.json +++ b/core/openapi.json @@ -218,7 +218,6 @@ "type": "object", "required": [ "id", - "order", "href", "icon", "type", @@ -232,15 +231,8 @@ "type": "string" }, "order": { - "oneOf": [ - { - "type": "integer", - "format": "int64" - }, - { - "type": "string" - } - ] + "type": "integer", + "format": "int64" }, "href": { "type": "string" @@ -254,6 +246,12 @@ "name": { "type": "string" }, + "app": { + "type": "string" + }, + "default": { + "type": "boolean" + }, "active": { "type": "boolean" }, diff --git a/lib/private/NavigationManager.php b/lib/private/NavigationManager.php index 05a3a9c85fed3..5d71c83e77a3c 100644 --- a/lib/private/NavigationManager.php +++ b/lib/private/NavigationManager.php @@ -95,7 +95,7 @@ public function add($entry) { // 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; diff --git a/lib/public/INavigationManager.php b/lib/public/INavigationManager.php index 5440230e44cc3..eaef1cb35ec57 100644 --- a/lib/public/INavigationManager.php +++ b/lib/public/INavigationManager.php @@ -10,13 +10,11 @@ namespace OCP; -/** - * @psalm-type NavigationEntry = array{id: string, order: int, href: string, name: string, app?: string, icon?: string, classes?: string, type?: string} - */ - /** * Manages the ownCloud navigation * @since 6.0.0 + * + * @psalm-type NavigationEntry = array{id: string, order: int, href: string, name: string, app?: string, icon?: string, classes?: string, type?: string} */ interface INavigationManager { /**