1
0
mirror of https://github.com/owncloud/android-library.git synced 2025-06-07 16:06:08 +00:00

Retrieve the app providers from the capabilities

This commit is contained in:
Abel García de Prada 2022-08-18 12:34:48 +02:00
parent 24b850d20c
commit 9ab7c139e1
2 changed files with 32 additions and 2 deletions

View File

@ -66,7 +66,8 @@ data class RemoteCapability(
// Files
var filesBigFileChunking: CapabilityBooleanType = CapabilityBooleanType.UNKNOWN,
var filesUndelete: CapabilityBooleanType = CapabilityBooleanType.UNKNOWN,
var filesVersioning: CapabilityBooleanType = CapabilityBooleanType.UNKNOWN
var filesVersioning: CapabilityBooleanType = CapabilityBooleanType.UNKNOWN,
val remoteOcisProviders: List<RemoteOCISProvider>?,
) {
/**
* Enum for Boolean Type in capabilities, with values:
@ -98,4 +99,13 @@ data class RemoteCapability(
}
}
}
data class RemoteOCISProvider(
val enabled: Boolean,
val version: String,
val appsUrl: String?,
val openUrl: String?,
val openWebUrl: String?,
val newUrl: String?,
)
}

View File

@ -26,6 +26,7 @@ package com.owncloud.android.lib.resources.status.responses
import com.owncloud.android.lib.resources.status.RemoteCapability
import com.owncloud.android.lib.resources.status.RemoteCapability.CapabilityBooleanType
import com.owncloud.android.lib.resources.status.RemoteCapability.RemoteOCISProvider
import com.squareup.moshi.Json
import com.squareup.moshi.JsonClass
@ -68,6 +69,7 @@ data class CapabilityResponse(
filesBigFileChunking = CapabilityBooleanType.fromBooleanValue(capabilities?.fileCapabilities?.bigfilechunking),
filesUndelete = CapabilityBooleanType.fromBooleanValue(capabilities?.fileCapabilities?.undelete),
filesVersioning = CapabilityBooleanType.fromBooleanValue(capabilities?.fileCapabilities?.versioning),
remoteOcisProviders = capabilities?.fileCapabilities?.appProviders?.map { it.toOCISProvider() },
filesSharingFederationIncoming = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingFederation?.incoming),
filesSharingFederationOutgoing = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingFederation?.outgoing),
filesSharingUserProfilePicture = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingUser?.profilePicture),
@ -160,9 +162,27 @@ data class FileSharingUser(
data class FileCapabilities(
val bigfilechunking: Boolean?,
val undelete: Boolean?,
val versioning: Boolean?
val versioning: Boolean?,
@Json(name = "app_providers")
val appProviders: List<AppProvider>?
)
@JsonClass(generateAdapter = true)
data class AppProvider(
val enabled: Boolean,
val version: String,
@Json(name = "apps_url")
val appsUrl: String?,
@Json(name = "open_url")
val openUrl: String?,
@Json(name = "open_web_url")
val openWebUrl: String?,
@Json(name = "new_url")
val newUrl: String?,
) {
fun toOCISProvider() = RemoteOCISProvider(enabled, version, appsUrl, openUrl, openWebUrl, newUrl)
}
@JsonClass(generateAdapter = true)
data class DavCapabilities(
val chunking: String?