mirror of
https://github.com/owncloud/android-library.git
synced 2025-06-07 16:06:08 +00:00
Fixed some bugs on how to create shares.
This commit is contained in:
parent
45fb12df0e
commit
037a2b30df
@ -24,7 +24,7 @@
|
|||||||
|
|
||||||
package com.owncloud.android.lib.resources.shares
|
package com.owncloud.android.lib.resources.shares
|
||||||
|
|
||||||
import java.io.File
|
import com.owncloud.android.lib.resources.shares.responses.ItemType
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Contains the data of a Share from the Share API
|
* Contains the data of a Share from the Share API
|
||||||
@ -38,6 +38,7 @@ data class RemoteShare(
|
|||||||
var shareWith: String = "",
|
var shareWith: String = "",
|
||||||
var path: String = "",
|
var path: String = "",
|
||||||
var token: String = "",
|
var token: String = "",
|
||||||
|
var itemType: String = "",
|
||||||
var sharedWithDisplayName: String = "",
|
var sharedWithDisplayName: String = "",
|
||||||
var sharedWithAdditionalInfo: String = "",
|
var sharedWithAdditionalInfo: String = "",
|
||||||
var name: String = "",
|
var name: String = "",
|
||||||
@ -46,7 +47,7 @@ data class RemoteShare(
|
|||||||
var permissions: Int = DEFAULT_PERMISSION,
|
var permissions: Int = DEFAULT_PERMISSION,
|
||||||
var sharedDate: Long = INIT_SHARED_DATE,
|
var sharedDate: Long = INIT_SHARED_DATE,
|
||||||
var expirationDate: Long = INIT_EXPIRATION_DATE_IN_MILLIS,
|
var expirationDate: Long = INIT_EXPIRATION_DATE_IN_MILLIS,
|
||||||
var isFolder: Boolean = path.endsWith(File.separator)
|
var isFolder: Boolean = (itemType == ItemType.FOLDER.fileValue)
|
||||||
) {
|
) {
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
@ -23,34 +23,57 @@
|
|||||||
|
|
||||||
package com.owncloud.android.lib.resources.shares.responses
|
package com.owncloud.android.lib.resources.shares.responses
|
||||||
|
|
||||||
|
import com.owncloud.android.lib.common.network.WebdavUtils
|
||||||
import com.owncloud.android.lib.resources.shares.RemoteShare
|
import com.owncloud.android.lib.resources.shares.RemoteShare
|
||||||
import com.owncloud.android.lib.resources.shares.RemoteShare.Companion.DEFAULT_PERMISSION
|
import com.owncloud.android.lib.resources.shares.RemoteShare.Companion.DEFAULT_PERMISSION
|
||||||
import com.owncloud.android.lib.resources.shares.RemoteShare.Companion.INIT_EXPIRATION_DATE_IN_MILLIS
|
import com.owncloud.android.lib.resources.shares.RemoteShare.Companion.INIT_EXPIRATION_DATE_IN_MILLIS
|
||||||
import com.owncloud.android.lib.resources.shares.RemoteShare.Companion.INIT_SHARED_DATE
|
import com.owncloud.android.lib.resources.shares.RemoteShare.Companion.INIT_SHARED_DATE
|
||||||
import com.owncloud.android.lib.resources.shares.ShareType
|
import com.owncloud.android.lib.resources.shares.ShareType
|
||||||
|
import com.squareup.moshi.Json
|
||||||
import com.squareup.moshi.JsonClass
|
import com.squareup.moshi.JsonClass
|
||||||
import java.io.File
|
import java.io.File
|
||||||
|
|
||||||
@JsonClass(generateAdapter = true)
|
@JsonClass(generateAdapter = true)
|
||||||
data class ShareItem(
|
data class ShareItem(
|
||||||
val id: String? = null,
|
val id: String? = null,
|
||||||
|
|
||||||
|
@Json(name = "share_with")
|
||||||
val shareWith: String? = null,
|
val shareWith: String? = null,
|
||||||
|
|
||||||
val path: String? = null,
|
val path: String? = null,
|
||||||
val token: String? = null,
|
val token: String? = null,
|
||||||
|
|
||||||
|
@Json(name = "item_type")
|
||||||
|
val itemType: String? = null,
|
||||||
|
|
||||||
|
@Json(name = "share_with_displayname")
|
||||||
val sharedWithDisplayName: String? = null,
|
val sharedWithDisplayName: String? = null,
|
||||||
|
|
||||||
|
@Json(name = "share_with_additional_info")
|
||||||
val sharedWithAdditionalInfo: String? = null,
|
val sharedWithAdditionalInfo: String? = null,
|
||||||
|
|
||||||
val name: String? = null,
|
val name: String? = null,
|
||||||
|
|
||||||
|
@Json(name = "url")
|
||||||
val shareLink: String? = null,
|
val shareLink: String? = null,
|
||||||
|
|
||||||
|
@Json(name = "share_type")
|
||||||
val shareType: Int? = null,
|
val shareType: Int? = null,
|
||||||
|
|
||||||
val permissions: Int? = null,
|
val permissions: Int? = null,
|
||||||
|
|
||||||
|
@Json(name = "stime")
|
||||||
val sharedDate: Long? = null,
|
val sharedDate: Long? = null,
|
||||||
val expirationDate: Long? = null,
|
|
||||||
|
@Json(name = "expiration")
|
||||||
|
val expirationDate: String? = null,
|
||||||
) {
|
) {
|
||||||
fun toRemoteShare() = RemoteShare(
|
fun toRemoteShare() = RemoteShare(
|
||||||
id = id ?: "0",
|
id = id ?: "0",
|
||||||
shareWith = shareWith.orEmpty(),
|
shareWith = shareWith.orEmpty(),
|
||||||
path = path.orEmpty(),
|
path = if (itemType == ItemType.FOLDER.fileValue) path.plus(File.separator) else path.orEmpty(),
|
||||||
token = token.orEmpty(),
|
token = token.orEmpty(),
|
||||||
|
itemType = itemType.orEmpty(),
|
||||||
sharedWithDisplayName = sharedWithDisplayName.orEmpty(),
|
sharedWithDisplayName = sharedWithDisplayName.orEmpty(),
|
||||||
sharedWithAdditionalInfo = sharedWithAdditionalInfo.orEmpty(),
|
sharedWithAdditionalInfo = sharedWithAdditionalInfo.orEmpty(),
|
||||||
name = name.orEmpty(),
|
name = name.orEmpty(),
|
||||||
@ -58,7 +81,11 @@ data class ShareItem(
|
|||||||
shareType = ShareType.values().firstOrNull { it.value == shareType } ?: ShareType.UNKNOWN,
|
shareType = ShareType.values().firstOrNull { it.value == shareType } ?: ShareType.UNKNOWN,
|
||||||
permissions = permissions ?: DEFAULT_PERMISSION,
|
permissions = permissions ?: DEFAULT_PERMISSION,
|
||||||
sharedDate = sharedDate ?: INIT_SHARED_DATE,
|
sharedDate = sharedDate ?: INIT_SHARED_DATE,
|
||||||
expirationDate = expirationDate ?: INIT_EXPIRATION_DATE_IN_MILLIS,
|
expirationDate = expirationDate?.let {
|
||||||
isFolder = path?.endsWith(File.separator) ?: false
|
WebdavUtils.parseResponseDate(it)?.time
|
||||||
|
} ?: INIT_EXPIRATION_DATE_IN_MILLIS,
|
||||||
|
isFolder = itemType?.equals(ItemType.FOLDER.fileValue) ?: false
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum class ItemType(val fileValue: String) { FILE("file"), FOLDER("folder") }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user