diff --git a/lib/Controller/Api1Controller.php b/lib/Controller/Api1Controller.php index 8d86aef1..fdc52c98 100644 --- a/lib/Controller/Api1Controller.php +++ b/lib/Controller/Api1Controller.php @@ -524,7 +524,8 @@ class Api1Controller extends ApiController { * @param bool $permissionUpdate Permission if receiver can update data * @param bool $permissionDelete Permission if receiver can delete data * @param bool $permissionManage Permission if receiver can manage node - * @param int $displayMode context shares only, whether it should appear in nav bar. 0: no, 1: recipients, 2: all + * @param int $displayMode context shares only, whether it should appear in nav bar. 0: no, 1: recipients, 2: all (default). Cf. Application::NAV_ENTRY_MODE_*. + * @psalm-param int<0, 2> $displayMode * @return DataResponse|DataResponse * * 200: Share returned @@ -545,10 +546,22 @@ class Api1Controller extends ApiController { bool $permissionUpdate = false, bool $permissionDelete = false, bool $permissionManage = false, - int $displayMode = 0, + int $displayMode = 2, ): DataResponse { try { - return new DataResponse($this->shareService->create($nodeId, $nodeType, $receiver, $receiverType, $permissionRead, $permissionCreate, $permissionUpdate, $permissionDelete, $permissionManage, $displayMode)->jsonSerialize()); + return new DataResponse( + $this->shareService->create( + $nodeId, + $nodeType, + $receiver, + $receiverType, + $permissionRead, + $permissionCreate, + $permissionUpdate, + $permissionDelete, + $permissionManage, + $displayMode + )->jsonSerialize()); } catch (PermissionError $e) { $this->logger->warning('A permission error occurred: '.$e->getMessage(), ['exception' => $e]); $message = ['message' => $e->getMessage()]; @@ -1431,7 +1444,20 @@ class Api1Controller extends ApiController { #[RequirePermission(permission: Application::PERMISSION_MANAGE, type: Application::NODE_TYPE_TABLE, idParam: 'tableId')] public function createTableShare(int $tableId, string $receiver, string $receiverType, bool $permissionRead, bool $permissionCreate, bool $permissionUpdate, bool $permissionDelete, bool $permissionManage): DataResponse { try { - return new DataResponse($this->shareService->create($tableId, 'table', $receiver, $receiverType, $permissionRead, $permissionCreate, $permissionUpdate, $permissionDelete, $permissionManage, 0)->jsonSerialize()); + return new DataResponse( + $this->shareService->create( + $tableId, + 'table', + $receiver, + $receiverType, + $permissionRead, + $permissionCreate, + $permissionUpdate, + $permissionDelete, + $permissionManage, + Application::NAV_ENTRY_MODE_ALL + )->jsonSerialize() + ); } catch (PermissionError $e) { $this->logger->warning('A permission error occurred: '.$e->getMessage(), ['exception' => $e]); $message = ['message' => $e->getMessage()]; diff --git a/lib/Controller/ShareController.php b/lib/Controller/ShareController.php index 40475a03..8cef76af 100644 --- a/lib/Controller/ShareController.php +++ b/lib/Controller/ShareController.php @@ -73,7 +73,7 @@ class ShareController extends Controller { bool $permissionUpdate = false, bool $permissionDelete = false, bool $permissionManage = false, - int $displayMode = 0, + int $displayMode = Application::NAV_ENTRY_MODE_ALL, ): DataResponse { return $this->handleError(function () use ($nodeId, $nodeType, $receiver, $receiverType, $permissionRead, $permissionCreate, $permissionUpdate, $permissionDelete, $permissionManage, $displayMode) { return $this->service->create($nodeId, $nodeType, $receiver, $receiverType, $permissionRead, $permissionCreate, $permissionUpdate, $permissionDelete, $permissionManage, $displayMode); diff --git a/openapi.json b/openapi.json index a18714b0..1ae2a46d 100644 --- a/openapi.json +++ b/openapi.json @@ -2538,8 +2538,10 @@ "displayMode": { "type": "integer", "format": "int64", - "default": 0, - "description": "context shares only, whether it should appear in nav bar. 0: no, 1: recipients, 2: all" + "default": 2, + "description": "context shares only, whether it should appear in nav bar. 0: no, 1: recipients, 2: all (default). Cf. Application::NAV_ENTRY_MODE_*.", + "minimum": 0, + "maximum": 2 } } } diff --git a/src/types/openapi/openapi.ts b/src/types/openapi/openapi.ts index 466c4054..67c3eb56 100644 --- a/src/types/openapi/openapi.ts +++ b/src/types/openapi/openapi.ts @@ -1937,8 +1937,8 @@ export interface operations { readonly permissionManage?: boolean; /** * Format: int64 - * @description context shares only, whether it should appear in nav bar. 0: no, 1: recipients, 2: all - * @default 0 + * @description context shares only, whether it should appear in nav bar. 0: no, 1: recipients, 2: all (default). Cf. Application::NAV_ENTRY_MODE_*. + * @default 2 */ readonly displayMode?: number; };