mirror of
https://github.com/owncloud/android-library.git
synced 2025-07-04 05:06:37 +00:00
Allow capabilities to be null
This commit is contained in:
parent
679b91df7c
commit
42b923c3b8
owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources
112
owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/response/CapabilityResponse.kt
112
owncloudComLibrary/src/main/java/com/owncloud/android/lib/resources/response/CapabilityResponse.kt
@ -32,130 +32,130 @@ import com.squareup.moshi.JsonClass
|
||||
@JsonClass(generateAdapter = true)
|
||||
data class CapabilityResponse(
|
||||
@Json(name = "version")
|
||||
val serverVersion: ServerVersion,
|
||||
val capabilities: Capabilities
|
||||
val serverVersion: ServerVersion?,
|
||||
val capabilities: Capabilities?
|
||||
) {
|
||||
fun toRemoteCapability(): RemoteCapability = RemoteCapability(
|
||||
versionMayor = serverVersion.major,
|
||||
versionMinor = serverVersion.minor,
|
||||
versionMicro = serverVersion.micro,
|
||||
versionString = serverVersion.string,
|
||||
versionEdition = serverVersion.edition,
|
||||
corePollinterval = capabilities.coreCapabilities.pollinterval,
|
||||
filesSharingApiEnabled = CapabilityBooleanType.fromBooleanValue(capabilities.fileSharingCapabilities.fileSharingApiEnabled),
|
||||
filesSharingResharing = CapabilityBooleanType.fromBooleanValue(capabilities.fileSharingCapabilities.fileSharingReSharing),
|
||||
filesSharingPublicEnabled = CapabilityBooleanType.fromBooleanValue(capabilities.fileSharingCapabilities.fileSharingPublic.enabled),
|
||||
filesSharingPublicUpload = CapabilityBooleanType.fromBooleanValue(capabilities.fileSharingCapabilities.fileSharingPublic.fileSharingPublicUpload),
|
||||
filesSharingPublicSupportsUploadOnly = CapabilityBooleanType.fromBooleanValue(capabilities.fileSharingCapabilities.fileSharingPublic.fileSharingPublicUploadOnly),
|
||||
filesSharingPublicMultiple = CapabilityBooleanType.fromBooleanValue(capabilities.fileSharingCapabilities.fileSharingPublic.fileSharingPublicMultiple),
|
||||
filesSharingPublicPasswordEnforced = CapabilityBooleanType.fromBooleanValue(capabilities.fileSharingCapabilities.fileSharingPublic.fileSharingPublicPassword.enforced),
|
||||
versionMayor = serverVersion?.major ?: 0,
|
||||
versionMinor = serverVersion?.minor ?: 0,
|
||||
versionMicro = serverVersion?.micro ?: 0,
|
||||
versionString = serverVersion?.string ?: "",
|
||||
versionEdition = serverVersion?.edition ?: "",
|
||||
corePollinterval = capabilities?.coreCapabilities?.pollinterval ?: 0,
|
||||
filesSharingApiEnabled = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingApiEnabled),
|
||||
filesSharingResharing = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingReSharing),
|
||||
filesSharingPublicEnabled = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingPublic?.enabled),
|
||||
filesSharingPublicUpload = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingPublic?.fileSharingPublicUpload),
|
||||
filesSharingPublicSupportsUploadOnly = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingPublic?.fileSharingPublicUploadOnly),
|
||||
filesSharingPublicMultiple = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingPublic?.fileSharingPublicMultiple),
|
||||
filesSharingPublicPasswordEnforced = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingPublic?.fileSharingPublicPassword?.enforced),
|
||||
filesSharingPublicPasswordEnforcedReadOnly = CapabilityBooleanType.fromBooleanValue(
|
||||
capabilities.fileSharingCapabilities.fileSharingPublic.fileSharingPublicPassword.enforcedFor.enforcedReadOnly
|
||||
capabilities?.fileSharingCapabilities?.fileSharingPublic?.fileSharingPublicPassword?.enforcedFor?.enforcedReadOnly
|
||||
),
|
||||
filesSharingPublicPasswordEnforcedReadWrite = CapabilityBooleanType.fromBooleanValue(
|
||||
capabilities.fileSharingCapabilities.fileSharingPublic.fileSharingPublicPassword.enforcedFor.enforcedReadWrite
|
||||
capabilities?.fileSharingCapabilities?.fileSharingPublic?.fileSharingPublicPassword?.enforcedFor?.enforcedReadWrite
|
||||
),
|
||||
filesSharingPublicPasswordEnforcedUploadOnly = CapabilityBooleanType.fromBooleanValue(
|
||||
capabilities.fileSharingCapabilities.fileSharingPublic.fileSharingPublicPassword.enforcedFor.enforcedUploadOnly
|
||||
capabilities?.fileSharingCapabilities?.fileSharingPublic?.fileSharingPublicPassword?.enforcedFor?.enforcedUploadOnly
|
||||
),
|
||||
filesSharingPublicExpireDateEnabled = CapabilityBooleanType.fromBooleanValue(capabilities.fileSharingCapabilities.fileSharingPublic.fileSharingPublicExpireDate.enabled),
|
||||
filesSharingPublicExpireDateDays = capabilities.fileSharingCapabilities.fileSharingPublic.fileSharingPublicExpireDate.days
|
||||
filesSharingPublicExpireDateEnabled = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingPublic?.fileSharingPublicExpireDate?.enabled),
|
||||
filesSharingPublicExpireDateDays = capabilities?.fileSharingCapabilities?.fileSharingPublic?.fileSharingPublicExpireDate?.days
|
||||
?: 0,
|
||||
filesSharingPublicExpireDateEnforced = CapabilityBooleanType.fromBooleanValue(
|
||||
capabilities.fileSharingCapabilities.fileSharingPublic.fileSharingPublicExpireDate.enforced ?: false
|
||||
capabilities?.fileSharingCapabilities?.fileSharingPublic?.fileSharingPublicExpireDate?.enforced
|
||||
),
|
||||
filesBigFileChunking = CapabilityBooleanType.fromBooleanValue(capabilities.fileCapabilities.bigfilechunking),
|
||||
filesUndelete = CapabilityBooleanType.fromBooleanValue(capabilities.fileCapabilities.undelete),
|
||||
filesVersioning = CapabilityBooleanType.fromBooleanValue(capabilities.fileCapabilities.versioning),
|
||||
filesSharingFederationIncoming = CapabilityBooleanType.fromBooleanValue(capabilities.fileSharingCapabilities.fileSharingFederation.incoming),
|
||||
filesSharingFederationOutgoing = CapabilityBooleanType.fromBooleanValue(capabilities.fileSharingCapabilities.fileSharingFederation.outgoing)
|
||||
filesBigFileChunking = CapabilityBooleanType.fromBooleanValue(capabilities?.fileCapabilities?.bigfilechunking),
|
||||
filesUndelete = CapabilityBooleanType.fromBooleanValue(capabilities?.fileCapabilities?.undelete),
|
||||
filesVersioning = CapabilityBooleanType.fromBooleanValue(capabilities?.fileCapabilities?.versioning),
|
||||
filesSharingFederationIncoming = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingFederation?.incoming),
|
||||
filesSharingFederationOutgoing = CapabilityBooleanType.fromBooleanValue(capabilities?.fileSharingCapabilities?.fileSharingFederation?.outgoing)
|
||||
)
|
||||
}
|
||||
|
||||
@JsonClass(generateAdapter = true)
|
||||
data class Capabilities(
|
||||
@Json(name = "core")
|
||||
val coreCapabilities: CoreCapabilities,
|
||||
val coreCapabilities: CoreCapabilities?,
|
||||
@Json(name = "files_sharing")
|
||||
val fileSharingCapabilities: FileSharingCapabilities,
|
||||
val fileSharingCapabilities: FileSharingCapabilities?,
|
||||
@Json(name = "files")
|
||||
val fileCapabilities: FileCapabilities
|
||||
val fileCapabilities: FileCapabilities?
|
||||
)
|
||||
|
||||
@JsonClass(generateAdapter = true)
|
||||
data class CoreCapabilities(
|
||||
val pollinterval: Int
|
||||
val pollinterval: Int?
|
||||
)
|
||||
|
||||
@JsonClass(generateAdapter = true)
|
||||
data class FileSharingCapabilities(
|
||||
@Json(name = "api_enabled")
|
||||
val fileSharingApiEnabled: Boolean,
|
||||
val fileSharingApiEnabled: Boolean?,
|
||||
@Json(name = "public")
|
||||
val fileSharingPublic: FileSharingPublic,
|
||||
val fileSharingPublic: FileSharingPublic?,
|
||||
@Json(name = "resharing")
|
||||
val fileSharingReSharing: Boolean,
|
||||
val fileSharingReSharing: Boolean?,
|
||||
@Json(name = "federation")
|
||||
val fileSharingFederation: FileSharingFederation
|
||||
val fileSharingFederation: FileSharingFederation?
|
||||
)
|
||||
|
||||
@JsonClass(generateAdapter = true)
|
||||
data class FileSharingPublic(
|
||||
val enabled: Boolean,
|
||||
val enabled: Boolean?,
|
||||
@Json(name = "upload")
|
||||
val fileSharingPublicUpload: Boolean,
|
||||
val fileSharingPublicUpload: Boolean?,
|
||||
@Json(name = "supports_upload_only")
|
||||
val fileSharingPublicUploadOnly: Boolean,
|
||||
val fileSharingPublicUploadOnly: Boolean?,
|
||||
@Json(name = "multiple")
|
||||
val fileSharingPublicMultiple: Boolean,
|
||||
val fileSharingPublicMultiple: Boolean?,
|
||||
@Json(name = "password")
|
||||
val fileSharingPublicPassword: FileSharingPublicPassword,
|
||||
val fileSharingPublicPassword: FileSharingPublicPassword?,
|
||||
@Json(name = "expire_date")
|
||||
val fileSharingPublicExpireDate: FileSharingPublicExpireDate
|
||||
val fileSharingPublicExpireDate: FileSharingPublicExpireDate?
|
||||
)
|
||||
|
||||
@JsonClass(generateAdapter = true)
|
||||
data class FileSharingPublicPassword(
|
||||
val enforced: Boolean,
|
||||
val enforced: Boolean?,
|
||||
@Json(name = "enforced_for")
|
||||
val enforcedFor: FileSharingPublicPasswordEnforced
|
||||
val enforcedFor: FileSharingPublicPasswordEnforced?
|
||||
)
|
||||
|
||||
@JsonClass(generateAdapter = true)
|
||||
data class FileSharingPublicPasswordEnforced(
|
||||
@Json(name = "read_only")
|
||||
val enforcedReadOnly: Boolean,
|
||||
val enforcedReadOnly: Boolean?,
|
||||
@Json(name = "read_write")
|
||||
val enforcedReadWrite: Boolean,
|
||||
val enforcedReadWrite: Boolean?,
|
||||
@Json(name = "upload_only")
|
||||
val enforcedUploadOnly: Boolean
|
||||
val enforcedUploadOnly: Boolean?
|
||||
)
|
||||
|
||||
@JsonClass(generateAdapter = true)
|
||||
data class FileSharingPublicExpireDate(
|
||||
val enabled: Boolean,
|
||||
val enabled: Boolean?,
|
||||
val days: Int?,
|
||||
val enforced: Boolean?
|
||||
)
|
||||
|
||||
@JsonClass(generateAdapter = true)
|
||||
data class FileSharingFederation(
|
||||
val incoming: Boolean,
|
||||
val outgoing: Boolean
|
||||
val incoming: Boolean?,
|
||||
val outgoing: Boolean?
|
||||
)
|
||||
|
||||
@JsonClass(generateAdapter = true)
|
||||
data class FileCapabilities(
|
||||
val bigfilechunking: Boolean,
|
||||
val undelete: Boolean,
|
||||
val versioning: Boolean
|
||||
val bigfilechunking: Boolean?,
|
||||
val undelete: Boolean?,
|
||||
val versioning: Boolean?
|
||||
)
|
||||
|
||||
@JsonClass(generateAdapter = true)
|
||||
data class ServerVersion(
|
||||
var major: Int = 0,
|
||||
var minor: Int = 0,
|
||||
var micro: Int = 0,
|
||||
var string: String = "",
|
||||
var edition: String = ""
|
||||
var major: Int?,
|
||||
var minor: Int?,
|
||||
var micro: Int?,
|
||||
var string: String?,
|
||||
var edition: String?
|
||||
)
|
||||
|
@ -87,8 +87,8 @@ data class RemoteCapability(
|
||||
}
|
||||
}
|
||||
|
||||
fun fromBooleanValue(boolValue: Boolean): CapabilityBooleanType {
|
||||
return if (boolValue) {
|
||||
fun fromBooleanValue(boolValue: Boolean?): CapabilityBooleanType {
|
||||
return if (boolValue != null && boolValue) {
|
||||
TRUE
|
||||
} else {
|
||||
FALSE
|
||||
|
Loading…
x
Reference in New Issue
Block a user