diff --git a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.kt b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.kt index fed12f83..6b5ef143 100644 --- a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.kt +++ b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/CreateRemoteShareOperation.kt @@ -3,7 +3,8 @@ * @author David A. Velasco * @author David González Verdugo * @author Fernando Sanz Velasco - * Copyright (C) 2021 ownCloud GmbH + * @author Juan Carlos Garrote Gascón + * Copyright (C) 2023 ownCloud GmbH * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal @@ -57,6 +58,7 @@ import java.util.Locale * @author David A. Velasco * @author David González Verdugo * @author Fernando Sanz Velasco + * @author Juan Carlos Garrote Gascón */ /** @@ -80,7 +82,8 @@ class CreateRemoteShareOperation( private val remoteFilePath: String, private val shareType: ShareType, private val shareWith: String, - private val permissions: Int + private val permissions: Int, + private val spaceId: String? = null, ) : RemoteOperation() { var name = "" // Name to set for the public link @@ -145,6 +148,10 @@ class CreateRemoteShareOperation( formBodyBuilder.add(PARAM_NAME, name) } + if (spaceId != null) { + formBodyBuilder.add(PARAM_SPACE, spaceId) + } + if (expirationDateInMillis > INIT_EXPIRATION_DATE_IN_MILLIS) { val dateFormat = SimpleDateFormat(FORMAT_EXPIRATION_DATE, Locale.getDefault()) val expirationDate = Calendar.getInstance() @@ -204,6 +211,7 @@ class CreateRemoteShareOperation( private const val PARAM_SHARE_WITH = "shareWith" private const val PARAM_PASSWORD = "password" private const val PARAM_PERMISSIONS = "permissions" + private const val PARAM_SPACE = "space" //Arguments - constant values private const val FORMAT_EXPIRATION_DATE = "yyyy-MM-dd" diff --git a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/services/ShareService.kt b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/services/ShareService.kt index 53458c59..017d0164 100644 --- a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/services/ShareService.kt +++ b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/services/ShareService.kt @@ -43,6 +43,7 @@ interface ShareService : Service { shareType: ShareType, shareWith: String, permissions: Int, + spaceId: String?, name: String, password: String, expirationDate: Long, diff --git a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/services/implementation/OCShareService.kt b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/services/implementation/OCShareService.kt index 96381b6a..681ba836 100644 --- a/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/services/implementation/OCShareService.kt +++ b/owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/shares/services/implementation/OCShareService.kt @@ -52,6 +52,7 @@ class OCShareService(override val client: OwnCloudClient) : ShareService { shareType: ShareType, shareWith: String, permissions: Int, + spaceId: String?, name: String, password: String, expirationDate: Long, @@ -60,7 +61,8 @@ class OCShareService(override val client: OwnCloudClient) : ShareService { remoteFilePath, shareType, shareWith, - permissions + permissions, + spaceId, ).apply { this.name = name this.password = password