* split user and remote from federated cloud id
*
* @param string $address federated share address
- * @return array [user, remoteURL]
+ * @return array<string> [user, remoteURL]
* @throws HintException
*/
public function splitUserRemote($address) {
* @PublicPage
* @BruteForceProtection(action=publicLink2FederatedShare)
*
- * @param string $shareWith
- * @param string $token
- * @param string $password
- * @return JSONResponse
+ * @param string $shareWith Username to share with
+ * @param string $token Token of the share
+ * @param string $password Password of the share
+ * @return JSONResponse<Http::STATUS_OK, array{remoteUrl: string}, array{}>|JSONResponse<Http::STATUS_BAD_REQUEST, array{message: string}, array{}>
+ * 200: Remote URL returned
+ * 400: Creating share is not possible
*/
public function createFederatedShare($shareWith, $token, $password = '') {
if (!$this->federatedShareProvider->isOutgoingServer2serverShareEnabled()) {
*
* create a new share
*
- * @param string|null $remote
- * @param string|null $token
- * @param string|null $name
- * @param string|null $owner
- * @param string|null $sharedBy
- * @param string|null $shareWith
- * @param int|null $remoteId
- * @param string|null $sharedByFederatedId
- * @param string|null $ownerFederatedId
- * @return Http\DataResponse
+ * @param string|null $remote Address of the remote
+ * @param string|null $token Shared secret between servers
+ * @param string|null $name Name of the shared resource
+ * @param string|null $owner Display name of the receiver
+ * @param string|null $sharedBy Display name of the sender
+ * @param string|null $shareWith ID of the user that receives the share
+ * @param int|null $remoteId ID of the remote
+ * @param string|null $sharedByFederatedId Federated ID of the sender
+ * @param string|null $ownerFederatedId Federated ID of the receiver
+ * @return Http\DataResponse<Http::STATUS_OK, array<empty>, array{}>
* @throws OCSException
*/
public function createShare(
*
* create re-share on behalf of another user
*
- * @param int $id
- * @param string|null $token
- * @param string|null $shareWith
- * @param int|null $permission
- * @param int|null $remoteId
- * @return Http\DataResponse
- * @throws OCSBadRequestException
+ * @param int $id ID of the share
+ * @param string|null $token Shared secret between servers
+ * @param string|null $shareWith ID of the user that receives the share
+ * @param int|null $remoteId ID of the remote
+ * @return Http\DataResponse<Http::STATUS_OK, array{token: string, remoteId: string}, array{}>
+ * @throws OCSBadRequestException Re-sharing is not possible
* @throws OCSException
+ *
+ * 200: Remote share returned
*/
- public function reShare(int $id, ?string $token = null, ?string $shareWith = null, ?int $permission = 0, ?int $remoteId = 0) {
+ public function reShare(int $id, ?string $token = null, ?string $shareWith = null, ?int $remoteId = 0) {
if ($token === null ||
$shareWith === null ||
- $permission === null ||
$remoteId === null
) {
throw new OCSBadRequestException();
*
* accept server-to-server share
*
- * @param int $id
- * @param string|null $token
- * @return Http\DataResponse
+ * @param int $id ID of the remote share
+ * @param string|null $token Shared secret between servers
+ * @return Http\DataResponse<Http::STATUS_OK, array<empty>, array{}>
* @throws OCSException
* @throws ShareNotFound
* @throws \OCP\HintException
+ *
+ * 200: Share accepted successfully
*/
public function acceptShare(int $id, ?string $token = null) {
$notification = [
*
* decline server-to-server share
*
- * @param int $id
- * @param string|null $token
- * @return Http\DataResponse
+ * @param int $id ID of the remote share
+ * @param string|null $token Shared secret between servers
+ * @return Http\DataResponse<Http::STATUS_OK, array<empty>, array{}>
* @throws OCSException
*/
public function declineShare(int $id, ?string $token = null) {
*
* remove server-to-server share if it was unshared by the owner
*
- * @param int $id
- * @param string|null $token
- * @return Http\DataResponse
+ * @param int $id ID of the share
+ * @param string|null $token Shared secret between servers
+ * @return Http\DataResponse<Http::STATUS_OK, array<empty>, array{}>
* @throws OCSException
*/
public function unshare(int $id, ?string $token = null) {
*
* federated share was revoked, either by the owner or the re-sharer
*
- * @param int $id
- * @param string|null $token
- * @return Http\DataResponse
- * @throws OCSBadRequestException
+ * @param int $id ID of the share
+ * @param string|null $token Shared secret between servers
+ * @return Http\DataResponse<Http::STATUS_OK, array<empty>, array{}>
+ * @throws OCSBadRequestException Revoking the share is not possible
+ *
+ * 200: Share revoked successfully
*/
public function revoke(int $id, ?string $token = null) {
try {
*
* update share information to keep federated re-shares in sync
*
- * @param int $id
- * @param string|null $token
- * @param int|null $permissions
- * @return Http\DataResponse
- * @throws OCSBadRequestException
+ * @param int $id ID of the share
+ * @param string|null $token Shared secret between servers
+ * @param int|null $permissions New permissions
+ * @return Http\DataResponse<Http::STATUS_OK, array<empty>, array{}>
+ * @throws OCSBadRequestException Updating permissions is not possible
+ *
+ * 200: Permissions updated successfully
*/
public function updatePermissions(int $id, ?string $token = null, ?int $permissions = null) {
$ncPermissions = $permissions;
*
* change the owner of a server-to-server share
*
- * @param int $id
- * @param string|null $token
- * @param string|null $remote
- * @param string|null $remote_id
- * @return Http\DataResponse
- * @throws OCSBadRequestException
- * @throws OCSException
- * @throws \OCP\DB\Exception
+ * @param int $id ID of the share
+ * @param string|null $token Shared secret between servers
+ * @param string|null $remote Address of the remote
+ * @param string|null $remote_id ID of the remote
+ * @return Http\DataResponse<Http::STATUS_OK, array{remote: string, owner: string}, array{}>
+ * @throws OCSBadRequestException Moving share is not possible
+ *
+ * 200: Share moved successfully
*/
public function move(int $id, ?string $token = null, ?string $remote = null, ?string $remote_id = null) {
if (!$this->isS2SEnabled()) {
* @param string $notificationType (e.g. SHARE_ACCEPTED)
* @param string $providerId id of the share
* @param array $notification payload of the notification
- * @return array data send back to the sender
+ * @return array<string> data send back to the sender
*
* @throws ActionNotSupportedException
* @throws AuthenticationFailedException
*
* @param string $id
* @param array $notification
- * @return array
+ * @return array<string>
* @throws ActionNotSupportedException
* @throws AuthenticationFailedException
* @throws BadRequestException
*
* @param string $id
* @param array $notification
- * @return array
+ * @return array<string>
* @throws ActionNotSupportedException
* @throws AuthenticationFailedException
* @throws BadRequestException
*
* @param string $id
* @param array $notification
- * @return array
+ * @return array<string>
* @throws AuthenticationFailedException
* @throws BadRequestException
*/
*
* @param string $id
* @param array $notification
- * @return array
+ * @return array<string>
* @throws ActionNotSupportedException
* @throws BadRequestException
*/
*
* @param string $id
* @param array $notification
- * @return array
+ * @return array<string>
* @throws AuthenticationFailedException
* @throws BadRequestException
* @throws ProviderCouldNotAddShareException
*
* @param string $id
* @param array $notification
- * @return array
+ * @return array<string>
* @throws AuthenticationFailedException
* @throws BadRequestException
*/
--- /dev/null
+{
+ "openapi": "3.0.3",
+ "info": {
+ "title": "federatedfilesharing",
+ "version": "0.0.1",
+ "description": "Provide federated file sharing across servers",
+ "license": {
+ "name": "agpl"
+ }
+ },
+ "components": {
+ "securitySchemes": {
+ "basic_auth": {
+ "type": "http",
+ "scheme": "basic"
+ },
+ "bearer_auth": {
+ "type": "http",
+ "scheme": "bearer"
+ }
+ },
+ "schemas": {
+ "OCSMeta": {
+ "type": "object",
+ "required": [
+ "status",
+ "statuscode"
+ ],
+ "properties": {
+ "status": {
+ "type": "string"
+ },
+ "statuscode": {
+ "type": "integer"
+ },
+ "message": {
+ "type": "string"
+ },
+ "totalitems": {
+ "type": "string"
+ },
+ "itemsperpage": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "paths": {
+ "/index.php/apps/federatedfilesharing/createFederatedShare": {
+ "post": {
+ "operationId": "mount_public_link-create-federated-share",
+ "summary": "send federated share to a user of a public link",
+ "tags": [
+ "mount_public_link"
+ ],
+ "security": [
+ {},
+ {
+ "bearer_auth": []
+ },
+ {
+ "basic_auth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "shareWith",
+ "in": "query",
+ "description": "Username to share with",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "token",
+ "in": "query",
+ "description": "Token of the share",
+ "required": true,
+ "schema": {
+ "type": "string"
+ }
+ },
+ {
+ "name": "password",
+ "in": "query",
+ "description": "Password of the share",
+ "schema": {
+ "type": "string",
+ "default": ""
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Remote URL returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "required": [
+ "remoteUrl"
+ ],
+ "properties": {
+ "remoteUrl": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Creating share is not possible",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "required": [
+ "message"
+ ],
+ "properties": {
+ "message": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/ocs/v2.php/cloud/shares": {
+ "post": {
+ "operationId": "request_handler-create-share",
+ "summary": "create a new share",
+ "tags": [
+ "request_handler"
+ ],
+ "security": [
+ {},
+ {
+ "bearer_auth": []
+ },
+ {
+ "basic_auth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "remote",
+ "in": "query",
+ "description": "Address of the remote",
+ "schema": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ {
+ "name": "token",
+ "in": "query",
+ "description": "Shared secret between servers",
+ "schema": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ {
+ "name": "name",
+ "in": "query",
+ "description": "Name of the shared resource",
+ "schema": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ {
+ "name": "owner",
+ "in": "query",
+ "description": "Display name of the receiver",
+ "schema": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ {
+ "name": "sharedBy",
+ "in": "query",
+ "description": "Display name of the sender",
+ "schema": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ {
+ "name": "shareWith",
+ "in": "query",
+ "description": "ID of the user that receives the share",
+ "schema": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ {
+ "name": "remoteId",
+ "in": "query",
+ "description": "ID of the remote",
+ "schema": {
+ "type": "integer",
+ "format": "int64",
+ "nullable": true
+ }
+ },
+ {
+ "name": "sharedByFederatedId",
+ "in": "query",
+ "description": "Federated ID of the sender",
+ "schema": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ {
+ "name": "ownerFederatedId",
+ "in": "query",
+ "description": "Federated ID of the receiver",
+ "schema": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ {
+ "name": "OCS-APIRequest",
+ "in": "header",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "default": "true"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/ocs/v2.php/cloud/shares/{id}/reshare": {
+ "post": {
+ "operationId": "request_handler-re-share",
+ "summary": "create re-share on behalf of another user",
+ "tags": [
+ "request_handler"
+ ],
+ "security": [
+ {},
+ {
+ "bearer_auth": []
+ },
+ {
+ "basic_auth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "token",
+ "in": "query",
+ "description": "Shared secret between servers",
+ "schema": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ {
+ "name": "shareWith",
+ "in": "query",
+ "description": "ID of the user that receives the share",
+ "schema": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ {
+ "name": "remoteId",
+ "in": "query",
+ "description": "ID of the remote",
+ "schema": {
+ "type": "integer",
+ "format": "int64",
+ "nullable": true,
+ "default": 0
+ }
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "ID of the share",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ {
+ "name": "OCS-APIRequest",
+ "in": "header",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "default": "true"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Remote share returned",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {
+ "type": "object",
+ "required": [
+ "token",
+ "remoteId"
+ ],
+ "properties": {
+ "token": {
+ "type": "string"
+ },
+ "remoteId": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Re-sharing is not possible",
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/ocs/v2.php/cloud/shares/{id}/permissions": {
+ "post": {
+ "operationId": "request_handler-update-permissions",
+ "summary": "update share information to keep federated re-shares in sync",
+ "tags": [
+ "request_handler"
+ ],
+ "security": [
+ {},
+ {
+ "bearer_auth": []
+ },
+ {
+ "basic_auth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "token",
+ "in": "query",
+ "description": "Shared secret between servers",
+ "schema": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ {
+ "name": "permissions",
+ "in": "query",
+ "description": "New permissions",
+ "schema": {
+ "type": "integer",
+ "format": "int64",
+ "nullable": true
+ }
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "ID of the share",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ {
+ "name": "OCS-APIRequest",
+ "in": "header",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "default": "true"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Permissions updated successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Updating permissions is not possible",
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/ocs/v2.php/cloud/shares/{id}/accept": {
+ "post": {
+ "operationId": "request_handler-accept-share",
+ "summary": "accept server-to-server share",
+ "tags": [
+ "request_handler"
+ ],
+ "security": [
+ {},
+ {
+ "bearer_auth": []
+ },
+ {
+ "basic_auth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "token",
+ "in": "query",
+ "description": "Shared secret between servers",
+ "schema": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "ID of the remote share",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ {
+ "name": "OCS-APIRequest",
+ "in": "header",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "default": "true"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Share accepted successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "500": {
+ "description": "",
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/ocs/v2.php/cloud/shares/{id}/decline": {
+ "post": {
+ "operationId": "request_handler-decline-share",
+ "summary": "decline server-to-server share",
+ "tags": [
+ "request_handler"
+ ],
+ "security": [
+ {},
+ {
+ "bearer_auth": []
+ },
+ {
+ "basic_auth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "token",
+ "in": "query",
+ "description": "Shared secret between servers",
+ "schema": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "ID of the remote share",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ {
+ "name": "OCS-APIRequest",
+ "in": "header",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "default": "true"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/ocs/v2.php/cloud/shares/{id}/unshare": {
+ "post": {
+ "operationId": "request_handler-unshare",
+ "summary": "remove server-to-server share if it was unshared by the owner",
+ "tags": [
+ "request_handler"
+ ],
+ "security": [
+ {},
+ {
+ "bearer_auth": []
+ },
+ {
+ "basic_auth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "token",
+ "in": "query",
+ "description": "Shared secret between servers",
+ "schema": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "ID of the share",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ {
+ "name": "OCS-APIRequest",
+ "in": "header",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "default": "true"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/ocs/v2.php/cloud/shares/{id}/revoke": {
+ "post": {
+ "operationId": "request_handler-revoke",
+ "summary": "federated share was revoked, either by the owner or the re-sharer",
+ "tags": [
+ "request_handler"
+ ],
+ "security": [
+ {},
+ {
+ "bearer_auth": []
+ },
+ {
+ "basic_auth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "token",
+ "in": "query",
+ "description": "Shared secret between servers",
+ "schema": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "ID of the share",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ {
+ "name": "OCS-APIRequest",
+ "in": "header",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "default": "true"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Share revoked successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {}
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Revoking the share is not possible",
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/ocs/v2.php/cloud/shares/{id}/move": {
+ "post": {
+ "operationId": "request_handler-move",
+ "summary": "change the owner of a server-to-server share",
+ "tags": [
+ "request_handler"
+ ],
+ "security": [
+ {},
+ {
+ "bearer_auth": []
+ },
+ {
+ "basic_auth": []
+ }
+ ],
+ "parameters": [
+ {
+ "name": "token",
+ "in": "query",
+ "description": "Shared secret between servers",
+ "schema": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ {
+ "name": "remote",
+ "in": "query",
+ "description": "Address of the remote",
+ "schema": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ {
+ "name": "remote_id",
+ "in": "query",
+ "description": "ID of the remote",
+ "schema": {
+ "type": "string",
+ "nullable": true
+ }
+ },
+ {
+ "name": "id",
+ "in": "path",
+ "description": "ID of the share",
+ "required": true,
+ "schema": {
+ "type": "integer",
+ "format": "int64"
+ }
+ },
+ {
+ "name": "OCS-APIRequest",
+ "in": "header",
+ "required": true,
+ "schema": {
+ "type": "string",
+ "default": "true"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Share moved successfully",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "required": [
+ "ocs"
+ ],
+ "properties": {
+ "ocs": {
+ "type": "object",
+ "required": [
+ "meta",
+ "data"
+ ],
+ "properties": {
+ "meta": {
+ "$ref": "#/components/schemas/OCSMeta"
+ },
+ "data": {
+ "type": "object",
+ "required": [
+ "remote",
+ "owner"
+ ],
+ "properties": {
+ "remote": {
+ "type": "string"
+ },
+ "owner": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "400": {
+ "description": "Moving share is not possible",
+ "content": {
+ "text/plain": {
+ "schema": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "tags": [
+ {
+ "name": "mount_public_link",
+ "description": "Class MountPublicLinkController\nconvert public links to federated shares"
+ }
+ ]
+}
\ No newline at end of file
* @param string $notificationType (e.g SHARE_ACCEPTED)
* @param string $providerId share ID
* @param array $notification provider specific notification
- * @return array $data send back to sender
+ * @return array<string> $data send back to sender
*
* @throws ShareNotFound
* @throws ActionNotSupportedException