Skip to content
This repository was archived by the owner on Mar 19, 2024. It is now read-only.

Commit 9ab7c13

Browse files
committed
Retrieve the app providers from the capabilities
1 parent 24b850d commit 9ab7c13

File tree

2 files changed

+32
-2
lines changed

2 files changed

+32
-2
lines changed

owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/status/RemoteCapability.kt

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,8 @@ data class RemoteCapability(
6666
// Files
6767
var filesBigFileChunking: CapabilityBooleanType = CapabilityBooleanType.UNKNOWN,
6868
var filesUndelete: CapabilityBooleanType = CapabilityBooleanType.UNKNOWN,
69-
var filesVersioning: CapabilityBooleanType = CapabilityBooleanType.UNKNOWN
69+
var filesVersioning: CapabilityBooleanType = CapabilityBooleanType.UNKNOWN,
70+
val remoteOcisProviders: List<RemoteOCISProvider>?,
7071
) {
7172
/**
7273
* Enum for Boolean Type in capabilities, with values:
@@ -98,4 +99,13 @@ data class RemoteCapability(
9899
}
99100
}
100101
}
102+
103+
data class RemoteOCISProvider(
104+
val enabled: Boolean,
105+
val version: String,
106+
val appsUrl: String?,
107+
val openUrl: String?,
108+
val openWebUrl: String?,
109+
val newUrl: String?,
110+
)
101111
}

owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/status/responses/CapabilityResponse.kt

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ package com.owncloud.android.lib.resources.status.responses
2626

2727
import com.owncloud.android.lib.resources.status.RemoteCapability
2828
import com.owncloud.android.lib.resources.status.RemoteCapability.CapabilityBooleanType
29+
import com.owncloud.android.lib.resources.status.RemoteCapability.RemoteOCISProvider
2930
import com.squareup.moshi.Json
3031
import com.squareup.moshi.JsonClass
3132

@@ -68,6 +69,7 @@ data class CapabilityResponse(
6869
filesBigFileChunking = CapabilityBooleanType.fromBooleanValue(capabilities?.fileCapabilities?.bigfilechunking),
6970
filesUndelete = CapabilityBooleanType.fromBooleanValue(capabilities?.fileCapabilities?.undelete),
7071
filesVersioning = CapabilityBooleanType.fromBooleanValue(capabilities?.fileCapabilities?.versioning),
72+
remoteOcisProviders = capabilities?.fileCapabilities?.appProviders?.map { it.toOCISProvider() },
7173
filesSharingFederationIncoming = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingFederation?.incoming),
7274
filesSharingFederationOutgoing = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingFederation?.outgoing),
7375
filesSharingUserProfilePicture = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingUser?.profilePicture),
@@ -160,9 +162,27 @@ data class FileSharingUser(
160162
data class FileCapabilities(
161163
val bigfilechunking: Boolean?,
162164
val undelete: Boolean?,
163-
val versioning: Boolean?
165+
val versioning: Boolean?,
166+
@Json(name = "app_providers")
167+
val appProviders: List<AppProvider>?
164168
)
165169

170+
@JsonClass(generateAdapter = true)
171+
data class AppProvider(
172+
val enabled: Boolean,
173+
val version: String,
174+
@Json(name = "apps_url")
175+
val appsUrl: String?,
176+
@Json(name = "open_url")
177+
val openUrl: String?,
178+
@Json(name = "open_web_url")
179+
val openWebUrl: String?,
180+
@Json(name = "new_url")
181+
val newUrl: String?,
182+
) {
183+
fun toOCISProvider() = RemoteOCISProvider(enabled, version, appsUrl, openUrl, openWebUrl, newUrl)
184+
}
185+
166186
@JsonClass(generateAdapter = true)
167187
data class DavCapabilities(
168188
val chunking: String?

0 commit comments

Comments
 (0)